summaryrefslogtreecommitdiff
path: root/Modules/socketmodule.h
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2002-06-06 21:08:16 +0000
committerGuido van Rossum <guido@python.org>2002-06-06 21:08:16 +0000
commit67f7a388496aec53896a0a5109edf9026bbe5d5b (patch)
treeafa4d86d404b77167e7da09152db2a3562b729a2 /Modules/socketmodule.h
parentc9a55776c88619d1b79d47d4734af0f2c423c045 (diff)
downloadcpython-git-67f7a388496aec53896a0a5109edf9026bbe5d5b.tar.gz
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. :-)
Diffstat (limited to 'Modules/socketmodule.h')
-rw-r--r--Modules/socketmodule.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h
index a59e6f750c..4d17f08c7f 100644
--- a/Modules/socketmodule.h
+++ b/Modules/socketmodule.h
@@ -83,6 +83,9 @@ typedef struct {
PyObject *(*errorhandler)(void); /* Error handler; checks
errno, returns NULL and
sets a Python exception */
+ int sock_blocking; /* Flag indicated whether the
+ socket is in blocking mode */
+ double sock_timeout; /* Operation timeout value */
} PySocketSockObject;
/* --- C API ----------------------------------------------------*/