diff --git a/lib/cpp/src/concurrency/ThreadManager.cc b/lib/cpp/src/concurrency/ThreadManager.cc
index 69a96ff..0aa4bef 100644
--- a/lib/cpp/src/concurrency/ThreadManager.cc
+++ b/lib/cpp/src/concurrency/ThreadManager.cc
@@ -164,7 +164,7 @@
 
       _manager->_workerCount++;
 
-      _manager->_monitor.notify();
+      _manager->_monitor.notifyAll();
     }
 
     do {
@@ -358,10 +358,8 @@
     /* If queue was empty notify a thread, otherwise all worker threads are running and will get around to this
        task in time. */
 
-    if(isEmpty) {
+    if(isEmpty && _idleCount > 0) {
 
-      assert(_idleCount == _workerCount);
-      
       _monitor.notify();
     }
   }
diff --git a/lib/cpp/src/concurrency/Util.h b/lib/cpp/src/concurrency/Util.h
index d04435d..8467a2c 100644
--- a/lib/cpp/src/concurrency/Util.h
+++ b/lib/cpp/src/concurrency/Util.h
@@ -2,6 +2,7 @@
 #define _concurrency_Util_h_ 1
 
 #include <assert.h>
+#include <stddef.h>
 #include <sys/time.h>
 
 namespace facebook { namespace thrift { namespace concurrency { 
diff --git a/lib/cpp/src/concurrency/test/Tests.cc b/lib/cpp/src/concurrency/test/Tests.cc
index 02e1724..d139f55 100644
--- a/lib/cpp/src/concurrency/test/Tests.cc
+++ b/lib/cpp/src/concurrency/test/Tests.cc
@@ -30,9 +30,11 @@
 
     assert(threadFactoryTests.helloWorldTest());
 
-    std::cout << "\t\tThreadFactory reap N threads test: N = 100" << std::endl;
+    size_t count =  10000;
 
-    assert(threadFactoryTests.reapNThreads(100));
+    std::cout << "\t\tThreadFactory reap N threads test: N = " << count << std::endl;
+
+    assert(threadFactoryTests.reapNThreads(count));
 
     std::cout << "\t\tThreadFactory synchrous start test" << std::endl;
 
diff --git a/lib/cpp/src/concurrency/test/ThreadFactoryTests.h b/lib/cpp/src/concurrency/test/ThreadFactoryTests.h
index 0d93564..1e0b139 100644
--- a/lib/cpp/src/concurrency/test/ThreadFactoryTests.h
+++ b/lib/cpp/src/concurrency/test/ThreadFactoryTests.h
@@ -83,7 +83,7 @@
     int& _count;
   };
 
-  bool reapNThreads(int count=100) {
+  bool reapNThreads(int count=10) {
 
     Monitor* monitor = new Monitor();
 
@@ -127,11 +127,11 @@
   public:
 
     enum STATE {
-      UNINITIALIZED = 1000,
-      STARTING = 1001,
-      STARTED = 1002,
-      STOPPING = 1003,
-      STOPPED = 1004
+      UNINITIALIZED,
+      STARTING,
+      STARTED,
+      STOPPING,
+      STOPPED
     };
 
   SynchStartTask(Monitor& monitor,
