diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-01-10 10:26:02 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-01-10 10:26:02 +0000 |
| commit | 3c76bbafc804456e99e9e6a82ff5698bae7349a9 (patch) | |
| tree | 69a137775514ad3deba69f91ae9a8776b992dc78 /src/lib/writer.h | |
| parent | 90f122da87efc3c6398b43292a9756e7f5765f25 (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.h | 6 |
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 */ |
