[Mailman-Developers] race condition in locking ?

bwarsaw@python.org bwarsaw@python.org
Tue, 2 May 2000 17:09:07 -0400 (EDT)


>>>>> "HM" == Harald Meland <Harald.Meland@usit.uio.no> writes:

    >> I wonder though what happens if some impatient moderator
    >> decides not to wait before the page finnishes loading, switches
    >> to a differen webpage and therefor breaks the python cgi
    >> process... will some approved posts stay in the queue instead?

    >>  Try it out ! ;) It depends on the exact behaviour of both the
    >> webbrowser and the webserver.

    HM> Yup.  This might produce a SIGPIPE, and/or the corresponding
    HM> IOError EPIPE, and I've experienced that these didn't always
    HM> get caught -- an attempt at a fix is near the end of run_main
    HM> in <URL:
    HM> http://www.uio.no/~hmeland/tmp/mailman-userdb/scripts/driver>,
    HM> but I'm by no means positive that it's the Right fix.

I've done a bit of testing using Apache and both NS and MSIE.  What I
did was add a big sleep in admin.py, in main(), just before the
finally at the bottom of the function.  I added some debug prints so I
could see what was going on.

As near as I can tell, if I hit the browser's stop button after
entering that big sleep, the CGI process gets kill stone cold.  It
never reach the finally clause, doesn't get a SIGPIPE, nothing.  Since
I can't reproduce this, I'm not sure what the right thing to do is.

Harald, what webserver are you running?

-Barry