[Zope-dev] CST 0.8 Updater Fixed...

Dieter Maurer dieter@handshake.de
Sun, 29 Apr 2001 19:17:36 +0200 (CEST)


Chris Withers writes:
 > Chris McDonough wrote:
 > > 
 > > This is due to the relationship between ZServer and the publisher.
 > > Sometimes it can be a bad thing... especially when there's an expensive
 > > method that folks fire off that takes a long time.. nothing comes back to
 > > their browser, so they press stop and hit the page again... etc. etc.  So
 > > you have a number of threads hung.

 > What would it take to fix it?
It would be quite difficult, as Python
"threads cannot be destroyed, stopped, suspended,
resumed, or interrupted."
(Quote from Python's 2.1 "threading" module documentation)

Thus, you would need to implement an abortion protocol,
e.g. via common storage. The worker thread would need to
check periodically whether it should abort.
As often external C code is responsible for hanging threads
(e.g. expensive database queries), we could at least do not
make it safe.


Dieter