summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-01 05:27:41 +0000
committerDavid Robillard <d@drobilla.net>2007-10-01 05:27:41 +0000
commite9f83907bf62950cc20b7bb3ceb7d680ea547961 (patch)
tree65a4001cbea697139d5391cec0f970565ce7acc8
parentdcc48b2bc64e7b2f05fd968d279dbeec52a720d5 (diff)
downloadraul-e9f83907bf62950cc20b7bb3ceb7d680ea547961.tar.gz
raul-e9f83907bf62950cc20b7bb3ceb7d680ea547961.tar.bz2
raul-e9f83907bf62950cc20b7bb3ceb7d680ea547961.zip
Blink MIDI ports on message transmission.
git-svn-id: http://svn.drobilla.net/lad/raul@794 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--raul/DoubleBuffer.hpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/raul/DoubleBuffer.hpp b/raul/DoubleBuffer.hpp
index dd50e6a..425bb29 100644
--- a/raul/DoubleBuffer.hpp
+++ b/raul/DoubleBuffer.hpp
@@ -38,7 +38,7 @@ class DoubleBuffer : public boost::noncopyable {
public:
inline DoubleBuffer(T val)
- : _state(READ_WRITE)
+ : _state(RAUL_DB_READ_WRITE)
{
_vals[0] = val;
_read_val = &_vals[0];
@@ -51,23 +51,23 @@ public:
inline bool set(T new_val)
{
- if (_state.compare_and_exchange(READ_WRITE, READ_LOCK)) {
+ if (_state.compare_and_exchange(RAUL_DB_READ_WRITE, RAUL_DB_READ_LOCK)) {
// locked _vals[1] for write
_vals[1] = new_val;
_read_val = &_vals[1];
- _state = WRITE_READ;
+ _state = RAUL_DB_WRITE_READ;
return true;
// concurrent calls here are fine. good, actually - caught
// the WRITE_READ state immediately after it was set above
- } else if (_state.compare_and_exchange(WRITE_READ, LOCK_READ)) {
+ } else if (_state.compare_and_exchange(RAUL_DB_WRITE_READ, RAUL_DB_LOCK_READ)) {
// locked _vals[0] for write
_vals[0] = new_val;
_read_val = &_vals[0];
- _state = READ_WRITE;
+ _state = RAUL_DB_READ_WRITE;
return true;
} else {
@@ -80,10 +80,10 @@ public:
private:
enum States {
// vals[0] state _ vals[1] state
- READ_WRITE = 0,
- READ_LOCK,
- WRITE_READ,
- LOCK_READ
+ RAUL_DB_READ_WRITE = 0,
+ RAUL_DB_READ_LOCK,
+ RAUL_DB_WRITE_READ,
+ RAUL_DB_LOCK_READ
};
AtomicInt _state;