Replace spins with proper pthread conditions.
diff --git a/libs/rs/rsThreadIO.cpp b/libs/rs/rsThreadIO.cpp
index 23c808a..5641581 100644
--- a/libs/rs/rsThreadIO.cpp
+++ b/libs/rs/rsThreadIO.cpp
@@ -34,16 +34,17 @@
 {
 }
 
-bool ThreadIO::playCoreCommands(Context *con)
+bool ThreadIO::playCoreCommands(Context *con, bool waitForCommand)
 {
     //LOGE("playCoreCommands 1");
     uint32_t cmdID = 0;
     uint32_t cmdSize = 0;
     bool ret = false;
-    while(!mToCore.isEmpty()) {
+    while(!mToCore.isEmpty() || waitForCommand) {
         ret = true;
         //LOGE("playCoreCommands 2");
         const void * data = mToCore.get(&cmdID, &cmdSize);
+        waitForCommand = false;
         //LOGE("playCoreCommands 3 %i %i", cmdID, cmdSize);
 
         gPlaybackFuncs[cmdID](con, data);