(peruser: pid=14291 uid=1005 child=26) child_main(): input available
... resetting socket.
  (peruser: pid=14290 uid=1005 child=21) child_main(): input available
... resetting socket.
(peruser: pid=14291 uid=1005 child=26) receive_from_multiplexer():
receiving from sock_fd=9
(peruser: pid=14290 uid=1005 child=21) receive_from_multiplexer():
receiving from sock_fd=9
  (peruser: pid=14290 uid=1005 child=21) receive_from_multiplexer():
recvmsg returned 841
(peruser: pid=14290 uid=1005 child=21) receive_from_multiplexer():
trans_sock=10869184 fdx=3 sock_fd=3
(peruser: pid=14290 uid=1005 child=21) receive_from_multiplexer():
header_len=632 headers="GET /server-status/ HTTP/1.1\r\nHo
st: localhost\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL;
rv:1.8.1.12) Gecko/20080129 Iceweasel/2.0.0.12
(Debian-2.0.0.12-0etch1)\r\nAccept:
text/xml,a

14290 and 14291 got input from multiplexer using apr_poll, but 14290 was faster
and it left 1491 blocked on recvmsg in receive_from_multiplexer().

This is not bad during normal operation, it will simply get some other request.

But this child is left behind after graceful restart because there will
be no more input from its multiplexer (because it already died). It
will be killed
i You use ExpireTimeout, but if you want to enable long downloads and
have upped ExpireTimeout significantly or disabled it there will be
zombies produced.

Maybe each multiplexer should send its child's some dummy connection
to unblock them and enable them to check pipe_of_death and die.

BTW. I'm have observed that if I have a single tcp socket listening,
some of the multiplexers aren't dying after graceful restart, i will
investigate this later.

-- 
Michal Grzedzicki
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to