poll() timeout is milliseconds, not seconds