diff options
author | Remko Tronçon <git@el-tramo.be> | 2012-12-23 13:16:26 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2012-12-23 14:43:26 (GMT) |
commit | 491ddd570a752cf9bda85933bed0c6942e39b1f9 (patch) | |
tree | 10c25c1be8cc08d0497df1dccd56a10fbb30beee /3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp | |
parent | da7d7a0ca71b80281aa9ff2526290b61ccb0cc60 (diff) | |
download | swift-contrib-491ddd570a752cf9bda85933bed0c6942e39b1f9.zip swift-contrib-491ddd570a752cf9bda85933bed0c6942e39b1f9.tar.bz2 |
Update Boost to 1.52.0.
Change-Id: I1e56bea2600bf2ed9c5b3aba8c4f9d2a0f350e77
Diffstat (limited to '3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp')
-rw-r--r-- | 3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp b/3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp index 07cc5c2..744990d 100644 --- a/3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp +++ b/3rdParty/Boost/src/boost/asio/detail/impl/win_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/win_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -102,12 +102,12 @@ void win_thread::start_thread(func_base* arg, unsigned int stack_size) unsigned int __stdcall win_thread_function(void* arg) { - std::auto_ptr<win_thread::func_base> func( - static_cast<win_thread::func_base*>(arg)); + win_thread::auto_func_base_ptr func = { + static_cast<win_thread::func_base*>(arg) }; - ::SetEvent(func->entry_event_); + ::SetEvent(func.ptr->entry_event_); - func->run(); + func.ptr->run(); // Signal that the thread has finished its work, but rather than returning go // to sleep to put the thread into a well known state. If the thread is being @@ -115,8 +115,9 @@ unsigned int __stdcall win_thread_function(void* arg) // TerminateThread (to avoid a deadlock in DllMain). Otherwise, the SleepEx // call will be interrupted using QueueUserAPC and the thread will shut down // cleanly. - HANDLE exit_event = func->exit_event_; - func.reset(); + HANDLE exit_event = func.ptr->exit_event_; + delete func.ptr; + func.ptr = 0; ::SetEvent(exit_event); ::SleepEx(INFINITE, TRUE); |