diff --git a/lib/cpp/src/server/TNonblockingServer.cpp b/lib/cpp/src/server/TNonblockingServer.cpp
index ceba960..fcfe797 100644
--- a/lib/cpp/src/server/TNonblockingServer.cpp
+++ b/lib/cpp/src/server/TNonblockingServer.cpp
@@ -118,7 +118,7 @@
     // Read from the socket
     fetch = readWant_ - readBufferPos_;
     got = recv(socket_, readBuffer_ + readBufferPos_, fetch, 0);
-    
+   
     if (got > 0) {
       // Move along in the buffer
       readBufferPos_ += got;
@@ -215,7 +215,7 @@
     // and get back some data from the dispatch function
     inputTransport_->resetBuffer(readBuffer_, readBufferPos_);
     outputTransport_->resetBuffer();
-  
+    
     if (server_->isThreadPoolProcessing()) {
       // We are setting up a Task to do this work and we will wait on it
       int sv[2];
@@ -242,6 +242,11 @@
           return;
         }
         server_->addTask(task);
+
+        // Set this connection idle so that libevent doesn't process more
+        // data on it while we're still waiting for the threadmanager to
+        // finish this task
+        setIdle();
         return;
       }
     } else {
@@ -263,6 +268,9 @@
       }
     }
 
+    // Intentionally fall through here, the call to process has written into
+    // the writeBuffer_
+
   case APP_WAIT_TASK:
     // We have now finished processing a task and the result has been written
     // into the outputTransport_, so we grab its contents and place them into
@@ -392,6 +400,11 @@
   // Update in memory structure
   eventFlags_ = eventFlags;
 
+  // Do not call event_set if there are no flags
+  if (!eventFlags_) {
+    return;
+  }
+
   /**
    * event_set:
    *
diff --git a/lib/cpp/src/server/TNonblockingServer.h b/lib/cpp/src/server/TNonblockingServer.h
index 6997c45..5470ad4 100644
--- a/lib/cpp/src/server/TNonblockingServer.h
+++ b/lib/cpp/src/server/TNonblockingServer.h
@@ -267,6 +267,11 @@
     setFlags(EV_WRITE | EV_PERSIST);
   }
 
+  // Set socket idle
+  void setIdle() {
+    setFlags(0);
+  }
+
   // Set event flags
   void setFlags(short eventFlags);
 
