PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 9588 3780 2324 R 99.8 0.4 0:06.72 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 10000 4052 2348 R 100.0 0.4 1:43.04 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 9588 3816 2356 S 0.3 0.4 0:00.10 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 10012 4080 2376 S 6.6 0.4 0:02.90 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 9588 3816 2360 S 0.3 0.4 0:00.07 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 10000 4036 2344 R 7.3 0.4 0:03.38 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 10140 4088 2380 S 0.7 0.4 0:00.56 python
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20 0 10000 4076 2380 S 0.7 0.4 0:00.67 python
telnet_server = TelnetServer(port=7777, address='', timeout=.05)
Does it? If so, this is Python specific as the operating system version of select() does not do that.
select() with a timeout returns either when the timeout expires OR when there is data ready.
Python's select behaves in the standard way (sit around until the timeout expires or data is ready or a socket is writable etc.). See, e.g., the manual entry on select. (Caveat lector: version 2.5, dunno if 2.6 changed something but I very strongly doubt it).