tried making the timeout value on select infinite so it can't return until it has a packet