summaryrefslogtreecommitdiff
path: root/indra/llplugin/llpluginmessagepipe.h
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-04-30 16:01:36 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-04-30 16:01:36 -0700
commit7eaae1fe819aef7dc8ac20387e62c3d13ab6d72f (patch)
tree64448ec622eb8b4d4c40c1b43821bd8a9c5c4a08 /indra/llplugin/llpluginmessagepipe.h
parent07c207346f63d464e45efe0be3aae64138982279 (diff)
parent10b073413548db34ec4c6c6f6976414cd97f9954 (diff)
Merge
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;