summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginmessagepipe.h
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-04-30 10:10:16 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-04-30 10:10:16 +0100
commit6f339d5e9eb0a43f70effdf069d414e0ee7fff2c (patch)
treec8070823806fbeb68ea0813d9a766a1b1db458f2 /indra/llplugin/llpluginmessagepipe.h
parent4f46e777a501ff0bfedaf657ac6decdeba8acbe5 (diff)
parentd597a7e36a0a8c4cbee70b053c41aa01afeab6b5 (diff)
merge from viewer-trunk
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;