summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/Slave.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-07-14 22:24:00 +0000
committerDavid Robillard <d@drobilla.net>2006-07-14 22:24:00 +0000
commit5dc6649496e938b32a5fe9f341de6cce962d3731 (patch)
treec4b1832581c32b867b653afd0a7bd4bb05883b36 /src/libs/engine/Slave.h
parent7e013dc6986fa9d6dc8616d494d9de5d192c4c69 (diff)
downloadingen-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.h15
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();
}
}
};