
1. The cygwin documentation only states that the __USE_W32_SOCKETS flag must be defined, but the documentation should also mention that the _WIN32_WINNT flag should be defined (0x0501 for XP) to avoid a warning, and that the ws2_32 and mswsock libraries are needed (at least for XP).
2. The documentation for the ip::tcp::socket object specifies that the cancel () member will "cancel all asynchronous operations associated with the socket". However, when called just before closing the socket, I get an exception along the lines of "operation not supported on
exact message in front of me right now). By not calling it, my async handlers are invoked with an error on closing the socket.
3. The application has a signal handler (e.g., SIGINT). However, when the
<bnv <at> nc.rr.com> writes: this object" (I don't have the process is inside
asio::io_service::run(), the signal handler appears to somehow get suspended and I have to do a "kill -9" rather than just hitting ctrl-c. Is this intentional/expected? Is there a work around, perhaps looping on asio::io_service::run_one()?
I found the documentation on ASIO macros, which address my first two points, and apologize for generating the extra chatter. I could still use some feedback on the third point regarding signals. Perhaps disabling IOCP to force a select() based implementation will resolve that. -Brian