def readline(self, timeout=<NUM_LIT>):
poll_result = self.poller.poll(timeout)<EOL>if poll_result:<EOL><INDENT>line = self.io.readline().strip()<EOL>if self.io == sys.stdin and line == "<STR_LIT:[>":<EOL><INDENT>line = self.io.readline().strip()<EOL><DEDENT>try:<EOL><INDENT>line = line.decode()<EOL><DEDENT>except (AttributeError, UnicodeDecodeError):<EOL><INDENT>pass<EOL><DEDENT>return line<EOL><DEDENT>else:<EOL><INDENT>return None<EOL><DEDENT>
Try to read our I/O for 'timeout' milliseconds, return None otherwise.
This makes calling and reading I/O non blocking !