I'm working on a project where we want a single thread to asynchronously interact with posix message queues, TCP sockets and drivers. From what I've read, boost::asio::io_service provides a common framework dealing with asynchronous IO. It looks like there's a asio library for TCP and posix::stream_descriptor could be used for interacting with a driver file descriptor. What I don't see is support for posix message queues. The io_service documentation states the following: "The io_service class also includes facilities intended for developers of custom asynchronous services.". I was thinking of adding a custom service for posix message queues. Has anyone already done this? Is there any fundamental reason why it could not be done? (i.e. message queues are not byte streams, etc.) Thanks, Sergio