| # Testing select module | |
| def test(): | |
| import select | |
| import os | |
| cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do date; sleep 3; done' | |
| p = os.popen(cmd, 'r') | |
| for tout in (0, 1, 2, 4, 8, 16) + (None,)*10: | |
| print 'timeout =', tout | |
| rfd, wfd, xfd = select.select([p], [], [], tout) | |
| print rfd, wfd, xfd | |
| if (rfd, wfd, xfd) == ([], [], []): | |
| continue | |
| if (rfd, wfd, xfd) == ([p], [], []): | |
| line = p.readline() | |
| print `line` | |
| if not line: | |
| print 'EOF' | |
| break | |
| continue | |
| print 'Heh?' | |
| test() |