import threading import os import select import time def poller(pollObj): print pollObj.poll() if __name__ == '__main__': pollObj = select.poll() r, w = os.pipe() pollObj.register(r, select.POLLIN) pollObj.poll(1) t = threading.Thread(target=poller, args=(pollObj,)) t.start() for _ in xrange(63): r2, w2 = os.pipe() pollObj.register(r2, select.POLLIN) pollObj.poll(1) os.write(w, "!") time.sleep(0.1)