summaryrefslogtreecommitdiff
path: root/src/lib/writer.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-01-10 10:26:02 +0000
committerCarl Hetherington <cth@carlh.net>2014-01-10 10:26:02 +0000
commit3c76bbafc804456e99e9e6a82ff5698bae7349a9 (patch)
tree69a137775514ad3deba69f91ae9a8776b992dc78 /src/lib/writer.h
parent90f122da87efc3c6398b43292a9756e7f5765f25 (diff)
Add a _full_condition to so that ::write() sleeps if there is lots of writing to do already.
Diffstat (limited to 'src/lib/writer.h')
-rw-r--r--src/lib/writer.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/writer.h b/src/lib/writer.h
index 842d6a55d..e2807d712 100644
--- a/src/lib/writer.h
+++ b/src/lib/writer.h
@@ -103,8 +103,10 @@ private:
int _queued_full_in_memory;
/** mutex for thread state */
mutable boost::mutex _mutex;
- /** condition to manage thread wakeups */
- boost::condition _condition;
+ /** condition to manage thread wakeups when we have nothing to do */
+ boost::condition _empty_condition;
+ /** condition to manage thread wakeups when we have too much to do */
+ boost::condition _full_condition;
/** the data of the last written frame, or 0 if there isn't one */
boost::shared_ptr<const EncodedData> _last_written[EYES_COUNT];
/** the index of the last written frame */