You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2012/11/21 00:31:20 UTC

svn commit: r1411926 - in /activemq/activemq-cpp/trunk/activemq-cpp/src/main: activemq/commands/ activemq/core/ activemq/wireformat/stomp/ decaf/lang/ decaf/util/ decaf/util/concurrent/ decaf/util/concurrent/locks/

Author: tabish
Date: Tue Nov 20 23:31:18 2012
New Revision: 1411926

URL: http://svn.apache.org/viewvc?rev=1411926&view=rev
Log:
Fix a bunch of compiler warnings

Modified:
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/commands/ActiveMQTempDestination.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/DispatchData.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompHelper.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompWireFormat.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/lang/Pointer.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/StlMap.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/CountDownLatch.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/ThreadPoolExecutor.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractOwnableSynchronizer.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractQueuedSynchronizer.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.h

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/commands/ActiveMQTempDestination.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/commands/ActiveMQTempDestination.cpp?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/commands/ActiveMQTempDestination.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/commands/ActiveMQTempDestination.cpp Tue Nov 20 23:31:18 2012
@@ -35,7 +35,7 @@ ActiveMQTempDestination::ActiveMQTempDes
 
 ////////////////////////////////////////////////////////////////////////////////
 ActiveMQTempDestination::ActiveMQTempDestination(const std::string& name) :
-    ActiveMQDestination(name), Closeable(), connection(NULL) {
+    ActiveMQDestination(name), Closeable(), connection(NULL), connectionId(), sequenceId(0) {
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp Tue Nov 20 23:31:18 2012
@@ -155,6 +155,7 @@ namespace core{
         bool userSpecifiedClientID;
 
         decaf::util::concurrent::Mutex ensureConnectionInfoSentMutex;
+        decaf::util::concurrent::Mutex onExceptionLock;
         decaf::util::concurrent::Mutex mutex;
 
         bool dispatchAsync;
@@ -198,6 +199,7 @@ namespace core{
                              transport(transport),
                              clientIdGenerator(),
                              scheduler(),
+                             executor(),
                              sessionIds(),
                              consumerIdGenerator(),
                              tempDestinationIds(),
@@ -207,6 +209,7 @@ namespace core{
                              isConnectionInfoSentToBroker(false),
                              userSpecifiedClientID(false),
                              ensureConnectionInfoSentMutex(),
+                             onExceptionLock(),
                              mutex(),
                              dispatchAsync(true),
                              alwaysSyncSend(false),
@@ -257,9 +260,11 @@ namespace core{
 
         ~ConnectionConfig() {
             try {
-                this->scheduler->shutdown();
-                this->executor->shutdown();
-                this->executor->awaitTermination(1, TimeUnit::MINUTES);
+                synchronized(&onExceptionLock) {
+                    this->scheduler->shutdown();
+                    this->executor->shutdown();
+                    this->executor->awaitTermination(1, TimeUnit::MINUTES);
+                }
             }
             AMQ_CATCHALL_NOTHROW()
         }
@@ -278,6 +283,11 @@ namespace core{
         ActiveMQConnection* connection;
         Pointer<ConnectionError> error;
 
+    private:
+
+        ConnectionErrorRunnable(const ConnectionErrorRunnable&);
+        ConnectionErrorRunnable& operator= (const ConnectionErrorRunnable&);
+
     public:
 
         ConnectionErrorRunnable(ActiveMQConnection* connection, Pointer<ConnectionError> error) :
@@ -299,6 +309,11 @@ namespace core{
         ActiveMQConnection* connection;
         Exception ex;
 
+    private:
+
+        OnAsyncExceptionRunnable(const OnAsyncExceptionRunnable&);
+        OnAsyncExceptionRunnable& operator= (const OnAsyncExceptionRunnable&);
+
     public:
 
         OnAsyncExceptionRunnable(ActiveMQConnection* connection, Exception ex) :
@@ -329,6 +344,11 @@ namespace core{
         ConnectionConfig* config;
         Exception* ex;
 
+    private:
+
+        OnExceptionRunnable(const OnExceptionRunnable&);
+        OnExceptionRunnable& operator= (const OnExceptionRunnable&);
+
     public:
 
         OnExceptionRunnable(ActiveMQConnection* connection, ConnectionConfig* config, Exception* ex) :
@@ -372,11 +392,15 @@ namespace core{
         ConnectionConfig* config;
         cms::AsyncCallback* callback;
 
+    private:
+
+        AsyncResponseCallback(const AsyncResponseCallback&);
+        AsyncResponseCallback& operator= (const AsyncResponseCallback&);
+
     public:
 
         AsyncResponseCallback(ConnectionConfig* config, cms::AsyncCallback* callback) :
             ResponseCallback(), config(config), callback(callback) {
-
         }
 
         virtual ~AsyncResponseCallback() {
@@ -1105,11 +1129,14 @@ void ActiveMQConnection::onException(con
 
     try {
 
-        onAsyncException(ex);
-
-        // We're disconnected - the asynchronous error is expected.
-        if (!this->isClosed() || !this->closing.get()) {
-            this->config->executor->execute(new OnExceptionRunnable(this, config, ex.clone()));
+        // Sync with the config destructor in case a client attempt to
+        synchronized(&this->config->onExceptionLock) {
+            onAsyncException(ex);
+
+            // We're disconnected - the asynchronous error is expected.
+            if (!this->isClosed() || !this->closing.get()) {
+                this->config->executor->execute(new OnExceptionRunnable(this, config, ex.clone()));
+            }
         }
     }
     AMQ_CATCH_RETHROW(ActiveMQException)

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/DispatchData.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/DispatchData.cpp?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/DispatchData.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/DispatchData.cpp Tue Nov 20 23:31:18 2012
@@ -21,11 +21,10 @@ using namespace activemq;
 using namespace activemq::core;
 
 ////////////////////////////////////////////////////////////////////////////////
-DispatchData::DispatchData() {}
+DispatchData::DispatchData() : consumerId(), message() {}
 
 ////////////////////////////////////////////////////////////////////////////////
 DispatchData::DispatchData(const decaf::lang::Pointer<commands::ConsumerId>& consumer,
-                           const decaf::lang::Pointer<commands::Message>& message) {
-    this->consumerId = consumer;
-    this->message = message;
+                           const decaf::lang::Pointer<commands::Message>& message) :
+    consumerId(consumer), message(message) {
 }

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompHelper.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompHelper.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompHelper.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompHelper.h Tue Nov 20 23:31:18 2012
@@ -54,6 +54,11 @@ namespace stomp {
         activemq::util::LongSequenceGenerator messageIdGenerator;
         StompWireFormat* wireFormat;
 
+    private:
+
+        StompHelper(const StompHelper&);
+        StompHelper& operator=(const StompHelper&);
+
     public:
 
         StompHelper(StompWireFormat* wireFormat);

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompWireFormat.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompWireFormat.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompWireFormat.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/wireformat/stomp/StompWireFormat.h Tue Nov 20 23:31:18 2012
@@ -54,6 +54,11 @@ namespace stomp {
         // affecting binary compatibility.
         StompWireformatProperties* properties;
 
+    private:
+
+        StompWireFormat(const StompWireFormat&);
+        StompWireFormat& operator=(const StompWireFormat&);
+
     public:
 
         StompWireFormat();

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/lang/Pointer.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/lang/Pointer.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/lang/Pointer.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/lang/Pointer.h Tue Nov 20 23:31:18 2012
@@ -50,7 +50,7 @@ namespace lang {
      * @since 1.0
      */
     template<typename T, typename REFCOUNTER = decaf::util::concurrent::atomic::AtomicRefCounter>
-    class Pointer: public REFCOUNTER {
+    class Pointer : public REFCOUNTER {
     private:
 
         typedef void (*deletionFuncPtr)(T* p);

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/StlMap.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/StlMap.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/StlMap.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/StlMap.h Tue Nov 20 23:31:18 2012
@@ -63,6 +63,11 @@ namespace util{
 
             StlMap* associatedMap;
 
+        private:
+
+            AbstractMapIterator(const AbstractMapIterator&);
+            AbstractMapIterator& operator= (const AbstractMapIterator&);
+
         public:
 
             AbstractMapIterator(StlMap* parent) : position(0),
@@ -209,6 +214,11 @@ namespace util{
 
             const StlMap* associatedMap;
 
+        private:
+
+            ConstAbstractMapIterator(const ConstAbstractMapIterator&);
+            ConstAbstractMapIterator& operator= (const ConstAbstractMapIterator&);
+
         public:
 
             ConstAbstractMapIterator(const StlMap* parent) : position(0),
@@ -625,7 +635,10 @@ namespace util{
         /**
          * Default constructor - does nothing.
          */
-        StlMap() : Map<K,V>(), valueMap(), mutex(), modCount(0) {}
+        StlMap() : Map<K,V>(), valueMap(), mutex(), modCount(0),
+                               cachedEntrySet(), cachedKeySet(), cachedValueCollection(),
+                               cachedConstEntrySet(), cachedConstKeySet(), cachedConstValueCollection() {
+        }
 
         /**
          * Copy constructor - copies the content of the given map into this one.
@@ -633,7 +646,9 @@ namespace util{
          * @param source
          *      The source StlMap whose entries are copied into this Map.
          */
-        StlMap(const StlMap& source ) : Map<K,V>(), valueMap(), mutex(), modCount(0) {
+        StlMap(const StlMap& source ) : Map<K,V>(), valueMap(), mutex(), modCount(0),
+                                        cachedEntrySet(), cachedKeySet(), cachedValueCollection(),
+                                        cachedConstEntrySet(), cachedConstKeySet(), cachedConstValueCollection() {
             copy(source);
         }
 
@@ -643,7 +658,9 @@ namespace util{
          * @param source
          *      The source ma whose entries are copied into this Map..
          */
-        StlMap(const Map<K,V>& source) : Map<K,V>(), valueMap(), mutex(), modCount(0) {
+        StlMap(const Map<K,V>& source) : Map<K,V>(), valueMap(), mutex(), modCount(0),
+                                         cachedEntrySet(), cachedKeySet(), cachedValueCollection(),
+                                         cachedConstEntrySet(), cachedConstKeySet(), cachedConstValueCollection() {
             copy(source);
         }
 

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/CountDownLatch.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/CountDownLatch.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/CountDownLatch.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/CountDownLatch.h Tue Nov 20 23:31:18 2012
@@ -35,13 +35,18 @@ namespace concurrent{
 
         LatchSync* sync;
 
+    private:
+
+        CountDownLatch(const CountDownLatch&);
+        CountDownLatch& operator= (const CountDownLatch&);
+
     public:
 
         /**
          * Constructor
          * @param count - number to count down from.
          */
-        CountDownLatch( int count );
+        CountDownLatch(int count);
 
         virtual ~CountDownLatch();
 
@@ -100,7 +105,7 @@ namespace concurrent{
          * @throws InterruptedException - if the current thread is interrupted while waiting.
          * @throws Exception - if any other error occurs.
          */
-        virtual bool await( long long timeOut );
+        virtual bool await(long long timeOut);
 
         /**
          * Causes the current thread to wait until the latch has counted down to zero, unless the
@@ -133,7 +138,7 @@ namespace concurrent{
          * @throws InterruptedException - if the current thread is interrupted while waiting.
          * @throws Exception - if any other error occurs.
          */
-        virtual bool await( long long timeout, const TimeUnit& unit );
+        virtual bool await(long long timeout, const TimeUnit& unit);
 
         /**
          * Counts down the latch, releasing all waiting threads when

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/ThreadPoolExecutor.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/ThreadPoolExecutor.cpp?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/ThreadPoolExecutor.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/ThreadPoolExecutor.cpp Tue Nov 20 23:31:18 2012
@@ -65,6 +65,11 @@ namespace concurrent{
 
         Runnable* task;
 
+    private:
+
+        UnownedTaskWrapper(const UnownedTaskWrapper&);
+        UnownedTaskWrapper& operator=(const UnownedTaskWrapper&);
+
     public:
 
         UnownedTaskWrapper(Runnable* task) : Runnable(), task(task) {
@@ -225,6 +230,11 @@ namespace concurrent{
 
             ExecutorKernel* kernel;
 
+        private:
+
+            WorkerKiller(const WorkerKiller&);
+            WorkerKiller& operator=(const WorkerKiller&);
+
         public:
 
             WorkerKiller(ExecutorKernel* kernel) : kernel(kernel) {

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractOwnableSynchronizer.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractOwnableSynchronizer.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractOwnableSynchronizer.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractOwnableSynchronizer.h Tue Nov 20 23:31:18 2012
@@ -40,6 +40,11 @@ namespace locks {
 
         decaf::lang::Thread* ownerThread;
 
+    private:
+
+        AbstractOwnableSynchronizer(const AbstractOwnableSynchronizer&);
+        AbstractOwnableSynchronizer& operator= (const AbstractOwnableSynchronizer&);
+
     public:
 
         virtual ~AbstractOwnableSynchronizer();

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractQueuedSynchronizer.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractQueuedSynchronizer.cpp?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractQueuedSynchronizer.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/AbstractQueuedSynchronizer.cpp Tue Nov 20 23:31:18 2012
@@ -202,14 +202,10 @@ namespace {
 
     public:
 
-        Node() : waitStatus(0), prev(NULL), next(NULL), thread(NULL), nextWaiter(NULL), nextFree(NULL) {
-        }
-        Node(Thread* thread, Node* node) : waitStatus(0), prev(NULL), next(NULL), thread(thread), nextWaiter(node), nextFree(NULL) {
-        }
-        Node(Thread* thread, int waitStatus) : waitStatus(waitStatus), prev(NULL), next(NULL), thread(thread), nextWaiter(NULL), nextFree(NULL) {
-        }
-        Node(Thread* thread, int waitStatus, Node* node) : waitStatus(waitStatus), prev(NULL), next(NULL), thread(thread), nextWaiter(node), nextFree(NULL) {
-        }
+        Node() : waitStatus(0), prev(NULL), next(NULL), thread(NULL), nextWaiter(NULL), nextFree(NULL) {}
+        Node(Thread* thread, Node* node) : waitStatus(0), prev(NULL), next(NULL), thread(thread), nextWaiter(node), nextFree(NULL) {}
+        Node(Thread* thread, int waitStatus) : waitStatus(waitStatus), prev(NULL), next(NULL), thread(thread), nextWaiter(NULL), nextFree(NULL) {}
+        Node(Thread* thread, int waitStatus, Node* node) : waitStatus(waitStatus), prev(NULL), next(NULL), thread(thread), nextWaiter(node), nextFree(NULL) {}
 
         ~Node() {}
 
@@ -252,7 +248,6 @@ namespace {
 
         NodePool() : head(), tail(NULL), size(0), lock() {
             PlatformThread::createMutex(&lock);
-
         }
 
         ~NodePool() {
@@ -361,6 +356,11 @@ namespace locks {
          */
         NodePool nodePool;
 
+    private:
+
+        SynchronizerState(const SynchronizerState&);
+        SynchronizerState& operator=(const SynchronizerState&);
+
     public:
 
         SynchronizerState(AbstractQueuedSynchronizer* parent) :
@@ -368,7 +368,6 @@ namespace locks {
         }
 
         virtual ~SynchronizerState() {
-
             while (tail.get() != NULL) {
                 nodePool.returnNode(tail.getAndSet(tail.get()->prev));
             }

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.cpp?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.cpp Tue Nov 20 23:31:18 2012
@@ -70,6 +70,11 @@ namespace {
         static const int MAX_COUNT;
         static const int EXCLUSIVE_MASK;
 
+    private:
+
+        Sync(const Sync&);
+        Sync& operator=(const Sync&);
+
     public:
 
         /** Returns the number of shared holds represented in count  */
@@ -117,6 +122,8 @@ namespace {
 
         Sync() : readHolds(), cachedHoldCounter(), firstReader(NULL), firstReaderHoldCount(0) {}
 
+        virtual ~Sync() {}
+
         virtual bool isFair() const = 0;
 
         /*
@@ -496,6 +503,11 @@ namespace {
     };
 
     class ReadLock : public decaf::util::concurrent::locks::Lock {
+    private:
+
+        ReadLock(const ReadLock&);
+        ReadLock& operator= (const ReadLock&);
+
     public:
 
         Sync* sync;
@@ -668,6 +680,11 @@ namespace {
     };
 
     class WriteLock : public decaf::util::concurrent::locks::Lock {
+    private:
+
+        WriteLock(const WriteLock&);
+        WriteLock& operator= (const WriteLock&);
+
     public:
 
         Sync* sync;
@@ -928,6 +945,11 @@ namespace concurrent {
 namespace locks {
 
     class ReentrantReadWriteLockImpl {
+    private:
+
+        ReentrantReadWriteLockImpl(const ReentrantReadWriteLockImpl&);
+        ReentrantReadWriteLockImpl& operator= (const ReentrantReadWriteLockImpl&);
+
     public:
 
         decaf::util::concurrent::locks::Lock* readLock;

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.h?rev=1411926&r1=1411925&r2=1411926&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/util/concurrent/locks/ReentrantReadWriteLock.h Tue Nov 20 23:31:18 2012
@@ -40,6 +40,11 @@ namespace locks {
 
         ReentrantReadWriteLockImpl* impl;
 
+    private:
+
+        ReentrantReadWriteLock(const ReentrantReadWriteLock&);
+        ReentrantReadWriteLock& operator=(const ReentrantReadWriteLock&);
+
     public:
 
         /**