Eric Smith firstname.lastname@example.org added the comment:
I think you could preserve backward compatibility by doing something like the following (in httplib):
_sentinel = object() __HTTP_DEFAULT_TIMEOUT = _sentinel
In httplib.HTTPConnection.__init__(), in Python 2.6.
def __init__(self, host, port=None, strict=None, timeout=None): if timeout is None: if _HTTP_DEFAULT_TIMEOUT is _sentinel: timeout = socket._GLOBAL_DEFAULT_TIMEOUT else: timeout = _HTTP_DEFAULT_TIMEOUT
That way, if _HTTP_DEFAULT_TIMEOUT is never set, it will use the the socket timeout. Admittedly I'd rather see all uses of module globals go away, but I think this would be a good compromise.
---------- nosy: +eric.smith