summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginmessagepipe.h
diff options
context:
space:
mode:
authorYuri Chebotarev <ychebotarev@productengine.com>2010-04-30 17:59:53 +0300
committerYuri Chebotarev <ychebotarev@productengine.com>2010-04-30 17:59:53 +0300
commit67c95d6d9238615232fd581aaedf53adfe166e5c (patch)
tree4332afc70cd8a46ce2c390ccc0a7d583d9ea6165 /indra/llplugin/llpluginmessagepipe.h
parent2479959dd9be78a74c10484c65094bd56d1c3d9e (diff)
parent23bd34a78163c31bc2a661acd15db63ed248af53 (diff)
merge
--HG-- branch : product-engine
Diffstat (limited to 'indra/llplugin/llpluginmessagepipe.h')
-rw-r--r--indra/llplugin/llpluginmessagepipe.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/llplugin/llpluginmessagepipe.h b/indra/llplugin/llpluginmessagepipe.h
index 1ddb38de68..1b0a08254b 100644
--- a/indra/llplugin/llpluginmessagepipe.h
+++ b/indra/llplugin/llpluginmessagepipe.h
@@ -35,6 +35,7 @@
#define LL_LLPLUGINMESSAGEPIPE_H
#include "lliosocket.h"
+#include "llthread.h"
class LLPluginMessagePipe;
@@ -51,7 +52,7 @@ public:
virtual apr_status_t socketError(apr_status_t error);
// called from LLPluginMessagePipe to manage the connection with LLPluginMessagePipeOwner -- do not use!
- virtual void setMessagePipe(LLPluginMessagePipe *message_pipe) ;
+ virtual void setMessagePipe(LLPluginMessagePipe *message_pipe);
protected:
// returns false if writeMessageRaw() would drop the message
@@ -76,14 +77,18 @@ public:
void clearOwner(void);
bool pump(F64 timeout = 0.0f);
-
+ bool pumpOutput();
+ bool pumpInput(F64 timeout = 0.0f);
+
protected:
void processInput(void);
// used internally by pump()
void setSocketTimeout(apr_interval_time_t timeout_usec);
+ LLMutex mInputMutex;
std::string mInput;
+ LLMutex mOutputMutex;
std::string mOutput;
LLPluginMessagePipeOwner *mOwner;