diff options
author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-04-30 10:10:16 +0100 |
---|---|---|
committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-04-30 10:10:16 +0100 |
commit | 6f339d5e9eb0a43f70effdf069d414e0ee7fff2c (patch) | |
tree | c8070823806fbeb68ea0813d9a766a1b1db458f2 /indra/llplugin/llpluginmessagepipe.h | |
parent | 4f46e777a501ff0bfedaf657ac6decdeba8acbe5 (diff) | |
parent | d597a7e36a0a8c4cbee70b053c41aa01afeab6b5 (diff) |
merge from viewer-trunk
Diffstat (limited to 'indra/llplugin/llpluginmessagepipe.h')
-rw-r--r-- | indra/llplugin/llpluginmessagepipe.h | 9 |
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; |