diff options
| author | James Cook <james@lindenlab.com> | 2010-05-11 16:11:09 -0700 |
|---|---|---|
| committer | James Cook <james@lindenlab.com> | 2010-05-11 16:11:09 -0700 |
| commit | 2b7153c26a6dd5284218253910f466a0faeff708 (patch) | |
| tree | 8b8f54545c540d4e5f28d4a91215280117f52dff /indra/llplugin/llpluginmessagepipe.h | |
| parent | bae06b4b62587bd567495e3940a323e4c635a63e (diff) | |
| parent | 8e1dbbbb5628eee210a0a7c25f32287d7b754a8b (diff) | |
merge from dessie/viewer-public right before SLE code landed
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; |
