Add a working timeout connect, based on select