You can use select - earlier versions did. poll is just neater and the interface you really should use on linux if possible - which is what we do.

As long as you don't break the external connection class interface, all should be happy. Make sure you get your timeouts in the right units (ms/us/etc).

Hugo