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();