Michael Barton
mike at weirdlooking.com
Wed Dec 10 22:57:13 EST 2008
Yes, sorry. The exceptions I've seen are raised by sendall and recv on socket objects inside httplib, which is connected to a service. I can reproduce this with a very simple handler like, from mod_python import apache from socket import socket def handler(req): s = socket() s.connect(('localhost', 80)) s.recv(1024) return apache.OK Make a request to that handler, which will obviously not return any time soon. Then hit the server enough times that it reaches MaxRequestsPerChild. And, ... File "/home/redbo/test/modpython_handler.py", line 7, in handler\n s.recv(1024) error: (4, 'Interrupted system call') On Wed, Dec 10, 2008 at 9:19 PM, Graham Dumpleton <graham.dumpleton at gmail.com> wrote: > Blocking i/o operations against what? Sockets you have created off to > something else???? > > 2008/12/11 Michael Barton <mike at weirdlooking.com>: >> Hey list! >> >> I'm having a problem adapting a mod_python-based app to work with >> Apache's worker thread mpm. >> >> When the process hits MaxRequestsPerChild under a high concurrency of >> requests, blocking i/o operations in other threads on that child raise >> exceptions (mostly EINTR or EAGAIN IOErrors in httplib). >> >> It looks like system calls are being interrupted by signals Apache >> uses to control its children. But that seems like a problem that >> would have come up before, and I can't find much by searching the web >> or list archives. >> >> I figured I'd punt to the list and see if anyone has other thoughts. >> >> My setup is: debian, apache 2.2.3, mod_python 3.3.1, python 2.4.4 >> >> --Mike >> _______________________________________________ >> Mod_python mailing list >> Mod_python at modpython.org >> http://mailman.modpython.org/mailman/listinfo/mod_python >> >
|