Making a timebomb
Cantankerous Old Git
CantankerousOldGit at gmail.com
Sun Aug 7 08:02:01 EDT 2005
Peter Hansen wrote:
> Cantankerous Old Git wrote:
>
>> callmebill at gmail.com wrote:
>>
>>> I have a server that right now runs infinitely. I'd like to make it
>>> die after some amount of time.
>>
>>
>> The proper way to do it is to have the timer set a flag that the other
>> threads check regularly. The threads can then clean up and exit asap.
>>
>> The dirty way, which can leave corrupt half-written files and other
>> nasties, is something like sys.exit().
>
>
> sys.exit() won't help you if your server is running in the main thread,
> nor if your server thread is not marked as a daemon, but that does raise
> another possibility. Instead of doing serve() in the main thread, spawn
> off a child thread to do the serving, and call setDaemon(True) on it.
> Then the _main_ thread can do sys.exit() and the server thread will be
> terminated (somewhat messily perhaps) -- even if it is blocked in an
> accept() call or some other external blocking call.
I assume you know that I actually meant System.exit(). Why do you
think that won't help?
More information about the Python-list
mailing list