From 5dc6649496e938b32a5fe9f341de6cce962d3731 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 14 Jul 2006 22:24:00 +0000 Subject: 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 --- src/libs/engine/Slave.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/libs/engine/Slave.h') 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(); } } }; -- cgit v1.2.1