[Python-checkins] python/dist/src/Doc/lib libsocket.tex,1.60,1.61
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Thu, 06 Jun 2002 14:51:03 -0700
Update of /cvsroot/python/python/dist/src/Doc/lib
In directory usw-pr-cvs1:/tmp/cvs-serv390
Modified Files:
libsocket.tex
Log Message:
SF patch 555085 (timeout socket implementation) by Michael Gilfix.
I've made considerable changes to Michael's code, specifically to use
the select() system call directly and to store the timeout as a C
double instead of a Python object; internally, -1.0 (or anything
negative) represents the None from the API.
I'm not 100% sure that all corner cases are covered correctly, so
please keep an eye on this. Next I'm going to try it Windows before
Tim complains.
No way is this a bugfix candidate. :-)
Index: libsocket.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libsocket.tex,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -d -r1.60 -r1.61
*** libsocket.tex 22 Dec 2001 19:07:58 -0000 1.60
--- libsocket.tex 6 Jun 2002 21:51:01 -0000 1.61
***************
*** 515,518 ****
--- 515,541 ----
\end{methoddesc}
+ \begin{methoddesc}[socket]{settimeout}{value}
+ Set a timeout on blocking socket operations. Value can be any numeric value
+ or \var{None}. Socket operations will raise an \exception{error} exception
+ if the timeout period \var{value} has elapsed before the operation has
+ completed. Setting a timeout of \var{None} disables timeouts on socket
+ operations.
+ \end{methoddesc}
+
+ \begin{methoddesc}[socket]{gettimeout}{}
+ Returns the timeout in floating seconds associated with socket operations.
+ A timeout of None indicates that timeouts on socket operations are
+ disabled.
+ \end{methoddesc}
+
+ Some notes on the interaction between socket blocking and timeouts:
+ socket blocking mode takes precendence over timeouts. If a socket
+ if set to non-blocking mode, then timeouts set on sockets are never
+ don't mean anything. The timeout value associated with the socket
+ can still be set via settimeout and its value retrieved via gettimeout,
+ but the timeout is never enforced (i.e, an exception will never be
+ thrown). Otherwise, if the socket is in blocking mode, setting the
+ timeout will raise an exception as expected.
+
\begin{methoddesc}[socket]{setsockopt}{level, optname, value}
Set the value of the given socket option (see the \UNIX{} manual page