diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-01-22 11:03:28 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-01-22 11:03:28 (GMT) |
commit | 5cac0d0b588b1a024ba3e6934f655d315909b656 (patch) | |
tree | 4993bb3d92693709fe28327fe5751788c593c558 /3rdParty | |
parent | 6aa4bea624eddbbb26535a4ae1a0ed186ab1740b (diff) | |
download | swift-5cac0d0b588b1a024ba3e6934f655d315909b656.zip swift-5cac0d0b588b1a024ba3e6934f655d315909b656.tar.bz2 |
Another attempt at fixing the OS X hang on shutdown.
Diffstat (limited to '3rdParty')
-rw-r--r-- | 3rdParty/Boost/SConscript | 5 | ||||
-rw-r--r-- | 3rdParty/Boost/src/boost/asio/detail/impl/kqueue_reactor.ipp | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/3rdParty/Boost/SConscript b/3rdParty/Boost/SConscript index c697618..1883f6f 100644 --- a/3rdParty/Boost/SConscript +++ b/3rdParty/Boost/SConscript @@ -16,10 +16,11 @@ elif env.get("BOOST_BUNDLED", False) : ################################################################################ cppdefines = ["BOOST_ALL_NO_LIB", "BOOST_SYSTEM_NO_DEPRECATED"] + # Workaround for hang on exit on OS X + #if env["PLATFORM"] == "darwin" : + # cppdefines += ["BOOST_ASIO_DISABLE_KQUEUE"] if env["PLATFORM"] == "win32" : cppflags = ["/I" + Dir("src").abspath] - elif env["PLATFORM"] == "darwin" : - cppdefines += ["BOOST_ASIO_DISABLE_KQUEUE"] else : cppflags = [("-isystem", Dir("src").abspath)] diff --git a/3rdParty/Boost/src/boost/asio/detail/impl/kqueue_reactor.ipp b/3rdParty/Boost/src/boost/asio/detail/impl/kqueue_reactor.ipp index 08209bd..b6b692d 100644 --- a/3rdParty/Boost/src/boost/asio/detail/impl/kqueue_reactor.ipp +++ b/3rdParty/Boost/src/boost/asio/detail/impl/kqueue_reactor.ipp @@ -55,6 +55,10 @@ kqueue_reactor::kqueue_reactor(boost::asio::io_service& io_service) kqueue_reactor::~kqueue_reactor() { + struct kevent event; + BOOST_ASIO_KQUEUE_EV_SET(&event, interrupter_.read_descriptor(), + EVFILT_READ, EV_DELETE, 0, 0, &interrupter_); + ::kevent(kqueue_fd_, &event, 1, 0, 0, 0); close(kqueue_fd_); } |