Fix deadlock on Mac OS X.
diff --git a/asio/include/asio/detail/impl/task_io_service.ipp b/asio/include/asio/detail/impl/task_io_service.ipp
index 8e17ec6..39f68c9 100755
--- a/asio/include/asio/detail/impl/task_io_service.ipp
+++ b/asio/include/asio/detail/impl/task_io_service.ipp
@@ -335,7 +335,10 @@
         task_interrupted_ = more_handlers;
 
         if (more_handlers && !one_thread_)
-          wake_one_idle_thread_and_unlock(lock);
+        {
+          if (!wake_one_idle_thread_and_unlock(lock))
+            lock.unlock();
+        }
         else
           lock.unlock();