On 2006-07-03, Nick Craig-Wood <[EMAIL PROTECTED]> wrote: > Alex Martelli <[EMAIL PROTECTED]> wrote: >> DarkBlue <[EMAIL PROTECTED]> wrote: >> > try for 10 seconds >> > if database.connected : >> > do your remote thing >> > except raise after 10 seconds >> > abort any connection attempt >> > do something else >> >> Sure, see function setdefaulttimeout in module socket. Just call it as >> you wish before trying the DB connection and catch the resulting >> exception. > > It would be nice to have language support for the general case, ie a > general purpose timeout.
I just use signal.alarm(): import signal,sys def alarmHandler(signum, frame): raise 'Timeout' signal.signal(signal.SIGALRM, alarmHandler) while 1: try: signal.alarm(5) t = sys.stdin.readline() signal.alarm(0) print t except 'Timeout': print "too slow" -- Grant Edwards grante Yow! I will SHAVE and at buy JELL-O and bring my visi.com MARRIAGE MANUAL!! -- http://mail.python.org/mailman/listinfo/python-list