diff options
author | David Robillard <d@drobilla.net> | 2006-07-14 22:24:00 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-07-14 22:24:00 +0000 |
commit | 5dc6649496e938b32a5fe9f341de6cce962d3731 (patch) | |
tree | c4b1832581c32b867b653afd0a7bd4bb05883b36 /src/libs/engine/Slave.h | |
parent | 7e013dc6986fa9d6dc8616d494d9de5d192c4c69 (diff) | |
download | ingen-5dc6649496e938b32a5fe9f341de6cce962d3731.tar.gz ingen-5dc6649496e938b32a5fe9f341de6cce962d3731.tar.bz2 ingen-5dc6649496e938b32a5fe9f341de6cce962d3731.zip |
Enforced OSC path restrictions on Path for spec conformance (since GraphObject
paths will soon be part of OSC paths)
git-svn-id: http://svn.drobilla.net/lad/ingen@88 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/Slave.h')
-rw-r--r-- | src/libs/engine/Slave.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/libs/engine/Slave.h b/src/libs/engine/Slave.h index e6cc8ed5..9b2b01bd 100644 --- a/src/libs/engine/Slave.h +++ b/src/libs/engine/Slave.h @@ -31,25 +31,26 @@ namespace Om { class Slave : public Thread { public: - Slave() : _semaphore(0) {} + Slave() : _whip(0) {} - inline void signal() { _semaphore.post(); } + /** Tell the slave to do whatever work it does. Realtime safe. */ + inline void whip() { _whip.post(); } protected: - virtual void _signalled() = 0; + virtual void _whipped() = 0; - Semaphore _semaphore; + Semaphore _whip; private: // Prevent copies Slave(const Slave&); Slave& operator=(const Slave&); - void _run() + inline void _run() { while (true) { - _semaphore.wait(); - _signalled(); + _whip.wait(); + _whipped(); } } }; |