Stuart Donaldson [mailto:[EMAIL PROTECTED]] wrote:
> The shutdown code in ThreadedAppServer.shutDown() sends a None to all 
> threads to cause them to terminate, and then does a join to 
> each thread.
> 
> The problem is that if you have a thread that is busy, perhaps a 
> server-push thread that is just sending a continuous stream 
> of data, or 
> a thread bound up for some other reason that they will not terminate.
> 
> This causes the shutDown to lock up.
> 
> A couple of questions:
> 
> 1) Should there be a timeout when shutting down, after which it just 
> forcibly terminates the thread, or just ignores the thread 
> allowing the 
> shutDown operation to continue?

There's no way to forcibly terminate a thread in Python (that I know of).

> 
> 2) Should functions like flush() and write() check to see if 
> the server 
> is still running, or see if the server has been trying to 
> shutdown for 
> some time and then raise an error?
> 
> 3) Should we just go out of the way to document the behavior in the 
> description of how to stop an AppServer, along with shutDown, 
> initiateShutDown, and probably the server-push examples?

I vote for this.

> 
> 4) Something else?
> 
> 
> I think if we're going to leave the behavior, we should at least do 
> option 3 and document it.  (If it's there, I must have missed 
> it.)  The 
> recommended usage be that any potential compute bound or long running 
> server-push operation should check server().running.
> 
> On another point, shouldn't server().running parameter be 
> _running, and 
> use a running() function to access it?  

Yes, to be consistent we should be using a function, especially if we're
going to document that servlets can check it during long-running operations.

- Geoff


-------------------------------------------------------
This SF.NET email is sponsored by: Geek Gift Procrastinating?
Get the perfect geek gift now!  Before the Holidays pass you by.
T H I N K G E E K . C O M      http://www.thinkgeek.com/sf/
_______________________________________________
Webware-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-devel

Reply via email to