diff --git a/Builds/VisualStudio2012/beast.vcxproj b/Builds/VisualStudio2012/beast.vcxproj
index a75601dae5..9cd94464ea 100644
--- a/Builds/VisualStudio2012/beast.vcxproj
+++ b/Builds/VisualStudio2012/beast.vcxproj
@@ -78,8 +78,7 @@
-
-
+
@@ -280,12 +279,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
diff --git a/Builds/VisualStudio2012/beast.vcxproj.filters b/Builds/VisualStudio2012/beast.vcxproj.filters
index 4224376f69..292a02ca42 100644
--- a/Builds/VisualStudio2012/beast.vcxproj.filters
+++ b/Builds/VisualStudio2012/beast.vcxproj.filters
@@ -503,12 +503,6 @@
beast_basics\threads
-
- beast_basics\threads
-
-
- beast_basics\threads
-
beast_basics\threads
@@ -611,6 +605,9 @@
beast_core\time
+
+ beast_basics\threads
+
@@ -889,9 +886,6 @@
beast_basics\threads
-
- beast_basics\threads
-
beast_basics\threads
diff --git a/TODO.txt b/TODO.txt
index 54ab94fd34..dd7f0570ad 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -34,7 +34,7 @@ BEAST TODO
- Clean up ConcurrentObject
-- Rename ConcurrentState to SharedState or something?
+- Rename SharedData to SharedState or something?
- Figure out what to do with ReadWriteLock, and NamedPipe which uses it?
diff --git a/modules/beast_basics/beast_basics.cpp b/modules/beast_basics/beast_basics.cpp
index ca2b3fca2b..76fd7a7e85 100644
--- a/modules/beast_basics/beast_basics.cpp
+++ b/modules/beast_basics/beast_basics.cpp
@@ -53,7 +53,6 @@ namespace beast
#include "memory/beast_GlobalPagedFreeStore.cpp"
#include "memory/beast_PagedFreeStore.cpp"
#include "threads/beast_CallQueue.cpp"
-#include "threads/beast_ConcurrentObject.cpp"
#include "threads/beast_Listeners.cpp"
#include "threads/beast_ManualCallQueue.cpp"
#include "threads/beast_ParallelFor.cpp"
diff --git a/modules/beast_basics/beast_basics.h b/modules/beast_basics/beast_basics.h
index d323cab858..bb533fd6d6 100644
--- a/modules/beast_basics/beast_basics.h
+++ b/modules/beast_basics/beast_basics.h
@@ -263,8 +263,7 @@ namespace beast
#include "threads/beast_ReadWriteMutex.h"
#include "threads/beast_ThreadGroup.h"
#include "threads/beast_CallQueue.h"
-#include "threads/beast_ConcurrentObject.h"
-#include "threads/beast_ConcurrentState.h"
+#include "threads/beast_SharedData.h"
#include "threads/beast_GlobalThreadGroup.h"
#include "threads/beast_Listeners.h"
#include "threads/beast_ManualCallQueue.h"
diff --git a/modules/beast_basics/threads/beast_CallQueue.h b/modules/beast_basics/threads/beast_CallQueue.h
index 8589007afc..a40cb6a2b1 100644
--- a/modules/beast_basics/threads/beast_CallQueue.h
+++ b/modules/beast_basics/threads/beast_CallQueue.h
@@ -313,11 +313,11 @@ public:
struct SharedState; // contains data shared between threads
- ConcurrentState sharedState;
+ SharedData sharedState;
void stateChanged ()
{
- ConcurrentState ::ReadAccess state (sharedState);
+ SharedData ::ReadAccess state (sharedState);
// (read state)
}
@@ -326,7 +326,7 @@ public:
void changeState ()
{
- ConcurrentState ::WriteAccess state (sharedState);
+ SharedData ::WriteAccess state (sharedState);
// (read and write state)
diff --git a/modules/beast_basics/threads/beast_Listeners.h b/modules/beast_basics/threads/beast_Listeners.h
index 75093dd993..70d798b40a 100644
--- a/modules/beast_basics/threads/beast_Listeners.h
+++ b/modules/beast_basics/threads/beast_Listeners.h
@@ -137,7 +137,7 @@
void addListener (Listener* listener, CallQueue& callQueue)
{
// Acquire read access to the shared state.
- ConcurrentState ::ReadAccess state (m_state);
+ SharedData ::ReadAccess state (m_state);
// Add the listener.
m_listeners.add (listener, callQueue);
@@ -171,7 +171,7 @@
// Update shared state.
{
- ConcurrentState ::WriteAccess state (m_state);
+ SharedData ::WriteAccess state (m_state);
m_state->outputLevel = newOutputLevel;
}
@@ -188,7 +188,7 @@
float outputLevel;
};
- ConcurrentState m_state;
+ SharedData m_state;
ManualCallQueue m_fifo;
};
diff --git a/modules/beast_basics/threads/beast_ConcurrentState.h b/modules/beast_basics/threads/beast_SharedData.h
similarity index 81%
rename from modules/beast_basics/threads/beast_ConcurrentState.h
rename to modules/beast_basics/threads/beast_SharedData.h
index 6a5157fe9d..1acf172826 100644
--- a/modules/beast_basics/threads/beast_ConcurrentState.h
+++ b/modules/beast_basics/threads/beast_SharedData.h
@@ -17,8 +17,8 @@
*/
//==============================================================================
-#ifndef BEAST_CONCURRENTSTATE_BEASTHEADER
-#define BEAST_CONCURRENTSTATE_BEASTHEADER
+#ifndef BEAST_SHAREDDATA_H_INCLUDED
+#define BEAST_SHAREDDATA_H_INCLUDED
/*============================================================================*/
/**
@@ -52,7 +52,7 @@
It also makes it easier to search for places in code which use unlocked
access.
- This code example demonstrates various forms of access to a ConcurrentState:
+ This code example demonstrates various forms of access to a SharedData:
@code
@@ -62,7 +62,7 @@
String value2;
};
- typedef ConcurrentState SharedState;
+ typedef SharedData SharedState;
SharedState sharedState;
@@ -101,7 +101,7 @@
};
// Construct SharedData with one parameter
- ConcurrentState sharedState (16);
+ SharedData sharedState (16);
@endcode
@@ -112,11 +112,9 @@
read access. Such an attempt will result in undefined behavior. Calling into
unknown code while holding a lock can cause deadlock. See
@ref CallQueue::queue().
-
- @ingroup beast_concurrent
*/
template
-class ConcurrentState : Uncopyable
+class SharedData : Uncopyable
{
public:
class ReadAccess;
@@ -131,37 +129,37 @@ public:
generated.
*/
/** @{ */
- ConcurrentState () { }
+ SharedData () { }
template
- explicit ConcurrentState (T1 t1)
+ explicit SharedData (T1 t1)
: m_obj (t1) { }
template
- ConcurrentState (T1 t1, T2 t2)
+ SharedData (T1 t1, T2 t2)
: m_obj (t1, t2) { }
template
- ConcurrentState (T1 t1, T2 t2, T3 t3)
+ SharedData (T1 t1, T2 t2, T3 t3)
: m_obj (t1, t2, t3) { }
template
- ConcurrentState (T1 t1, T2 t2, T3 t3, T4 t4)
+ SharedData (T1 t1, T2 t2, T3 t3, T4 t4)
: m_obj (t1, t2, t3, t4) { }
template
- ConcurrentState (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
+ SharedData (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
: m_obj (t1, t2, t3, t4, t5) { }
template
- ConcurrentState (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
+ SharedData (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
: m_obj (t1, t2, t3, t4, t5, t6) { }
template
- ConcurrentState (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7) : m_obj (t1, t2, t3, t4, t5, t6, t7) { }
+ SharedData (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7) : m_obj (t1, t2, t3, t4, t5, t6, t7) { }
template
- ConcurrentState (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
+ SharedData (T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
: m_obj (t1, t2, t3, t4, t5, t6, t7, t8) { }
/** @} */
@@ -174,15 +172,15 @@ private:
//------------------------------------------------------------------------------
-/** Unlocked access to a ConcurrentState.
+/** Unlocked access to a SharedData.
Use sparingly.
*/
template
-class ConcurrentState