I thought I saw someone doing a select on the connection for both reading and writing without a timeout. That way you would always return because the connection should always be writable, but sometimes you'll also get the readable sockets too. I don't really know much about how that works. Thoughts?