Bill Janssen wrote: > What I'd like to do is just use the socket API, > something like: > > blocking = self.getblocking() > try: > self.setblocking(1) > self.do_handshake() > finally: > self.setblocking(blocking)
I'm not sure this is the right approach. If the calling code has made the socket non-blocking, then it doesn't want any operations on it to block. Rather than temporarily making it blocking by whatever means, some indication needs to be returned that the operation would block, and a way provided for the calling code to re-try later. If that can't reasonably be done, then passing a non-blocking socket here should be an error. > But my mother taught me never to test for equality against > floating-point zero. That doesn't apply here. If a float is explicitly set to 0.0 you can reasonably expect it to test equal to 0.0. The caveat only applies to results of a calculation, which may incorporate roundoff errors. -- Greg _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com