[ ... ] [Guido] > > - The original timeout socket code (in Python) by Tim O'Malley had a > > global timeout which you could set so that *all* sockets > > *automatically* had their timeout set. This is nice if you want it > > to affect library modules like urllib or ftplib. That feature is > > currently missing. Should we add it? (I have some concerns about > > it, in that it might break other code -- and it doesn't seem wise to > > do this for server-end sockets in general. But it's a nice hack for > > smaller programs.) > [Mike] > Is it really so painful for apps to keep track of all their sockets > and then do something like: > > for sock in sock_list: > sock.settimeout (blah) > > Why keep track of them in the socket module, unless there's already code > for this. > It isn't painful, it's impossible (unless you want to revise all the libraries). The real problem comes when a program uses a socket-based library such as smtplib or ftplib. Without the ability to impose a default timeout the library client has no way to set a timeout until the library has created the socket (and even then it will break encapsulation to do so in many cases). Unfortunately, the most common requirement for a timeout is to avoid socket code hanging when it makes the initial attempt to connect to a non-responsive host. Under these circumstances, if the connect() doesn't time out it can apparently be as long as two hours before an exception is raised. [...] regards ----------------------------------------------------------------------- Steve Holden http://www.holdenweb.com/ Python Web Programming http://pydish.holdenweb.com/pwp/ -----------------------------------------------------------------------
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4