Update of /cvsroot/boost/boost/boost/asio/detail
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv13776/detail
Modified Files:
win_iocp_io_service.hpp win_iocp_socket_service.hpp
Log Message:
Replace win_iocp_io_service::register_socket() with register_handle() to
allow it to be used with other Windows kernel objects.
Index: win_iocp_io_service.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/asio/detail/win_iocp_io_service.hpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- win_iocp_io_service.hpp 17 Nov 2006 11:40:48 -0000 1.6
+++ win_iocp_io_service.hpp 9 Dec 2006 22:31:44 -0000 1.7
@@ -94,11 +94,10 @@
}
}
- // Register a socket with the IO completion port.
- void register_socket(socket_type sock)
+ // Register a handle with the IO completion port.
+ void register_handle(HANDLE handle)
{
- HANDLE sock_as_handle = reinterpret_cast<HANDLE>(sock);
- ::CreateIoCompletionPort(sock_as_handle, iocp_.handle, 0, 0);
+ ::CreateIoCompletionPort(handle, iocp_.handle, 0, 0);
}
// Run the event loop until interrupted or no more work.
Index: win_iocp_socket_service.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/asio/detail/win_iocp_socket_service.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- win_iocp_socket_service.hpp 17 Nov 2006 11:28:18 -0000 1.5
+++ win_iocp_socket_service.hpp 9 Dec 2006 22:31:44 -0000 1.6
@@ -92,6 +92,11 @@
return socket_;
}
+ HANDLE as_handle() const
+ {
+ return reinterpret_cast<HANDLE>(socket_);
+ }
+
bool have_remote_endpoint() const
{
return have_remote_endpoint_;
@@ -262,7 +267,8 @@
if (sock.get() == invalid_socket)
return ec;
- iocp_service_.register_socket(sock.get());
+ HANDLE sock_as_handle = reinterpret_cast<HANDLE>(sock.get());
+ iocp_service_.register_handle(sock_as_handle);
impl.socket_ = sock.release();
impl.cancel_token_.reset(static_cast<void*>(0), noop_deleter());
@@ -279,7 +285,7 @@
boost::system::error_code ignored_ec;
close(impl, ignored_ec);
- iocp_service_.register_socket(native_socket);
+ iocp_service_.register_handle(native_socket.as_handle());
impl.socket_ = native_socket;
impl.cancel_token_.reset(static_cast<void*>(0), noop_deleter());
@@ -1862,7 +1868,7 @@
impl.socket_ = socket_ops::socket(family, type, proto, ec);
if (impl.socket_ == invalid_socket)
return ec;
- iocp_service_.register_socket(impl.socket_);
+ iocp_service_.register_handle(impl.socket_.as_handle());
}
// Perform the connect operation.
@@ -1987,7 +1993,7 @@
io_service().post(bind_handler(handler, ec));
return;
}
- iocp_service_.register_socket(impl.socket_);
+ iocp_service_.register_handle(impl.socket_.as_handle());
}
// Mark the socket as non-blocking so that the connection will take place
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs