summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--3rdParty/Boost/SConscript5
-rw-r--r--3rdParty/Boost/src/boost/asio/detail/impl/kqueue_reactor.ipp4
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_);
}