From 5cac0d0b588b1a024ba3e6934f655d315909b656 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Sat, 22 Jan 2011 12:03:28 +0100
Subject: Another attempt at fixing the OS X hang on shutdown.


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_);
 }
 
-- 
cgit v0.10.2-6-g49f6