1 --- a/process/detail/pipe.hpp 2011-10-30 14:50:53.397153354 +0400
2 +++ b/process/detail/pipe.hpp 2011-10-30 14:49:19.426965161 +0400
4 std::string pipe = "\\\\.\\pipe\\boost_process_" + boost::lexical_cast<std::string>(::GetCurrentProcessId()) + "_" + boost::lexical_cast<std::string>(nextid++);
5 hs[0] = ::CreateNamedPipeA(pipe.c_str(), PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED, 0, 1, 8192, 8192, 0, &sa);
6 if (hs[0] == INVALID_HANDLE_VALUE)
7 - boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreateNamedPipe failed"));
8 + boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::get_system_category(), "boost::process::detail::pipe::pipe: CreateNamedPipe failed"));
9 hs[1] = ::CreateFileA(pipe.c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
10 if (hs[1] == INVALID_HANDLE_VALUE)
11 - boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreateFile failed"));
12 + boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::get_system_category(), "boost::process::detail::pipe::pipe: CreateFile failed"));
14 OVERLAPPED overlapped;
15 ZeroMemory(&overlapped, sizeof(overlapped));
16 overlapped.hEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);
17 if (!overlapped.hEvent)
18 - boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreateEvent failed"));
19 + boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::get_system_category(), "boost::process::detail::pipe::pipe: CreateEvent failed"));
20 BOOL b = ::ConnectNamedPipe(hs[0], &overlapped);
24 if (::WaitForSingleObject(overlapped.hEvent, INFINITE) == WAIT_FAILED)
26 ::CloseHandle(overlapped.hEvent);
27 - boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: WaitForSingleObject failed"));
28 + boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::get_system_category(), "boost::process::detail::pipe::pipe: WaitForSingleObject failed"));
31 else if (::GetLastError() != ERROR_PIPE_CONNECTED)
33 ::CloseHandle(overlapped.hEvent);
34 - boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: ConnectNamedPipe failed"));
35 + boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::get_system_category(), "boost::process::detail::pipe::pipe: ConnectNamedPipe failed"));
38 ::CloseHandle(overlapped.hEvent);
40 if (!::CreatePipe(&hs[0], &hs[1], &sa, 0))
41 - boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::system_category, "boost::process::detail::pipe::pipe: CreatePipe failed"));
42 + boost::throw_exception(boost::system::system_error(::GetLastError(), boost::system::get_system_category(), "boost::process::detail::pipe::pipe: CreatePipe failed"));