replace MSG_WAITALL with MSG_DONTWAIT