Subject: [BUG] inter-process signaling of non-special signals breaks
From: Stipe Tolj <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Wed, 13 Feb 2002 13:12:14 +0100

Ok, this issue has been addressed by me a couple of times, so I hope
you core Cygwin developers don't get borred from me.

The bug (maybe it's fixed now, but it has been detected at least from
1.3.1 up to 1.3.7) arises from my work on Apache for Cygwin.

Here is the main problem scope:

apache's main httpd process forkes a couple of childs that are used
for handling incoming processes. Earch httpd process child listens to
SIGUSR1 for gracefull shutdown. This may be used if there are too many
idle childs remaining or a keep-alive (see HTTP/1.1) connection has
timed out.

All this seems and in fact is working! But, in some time or at some
ammount of signals floating arround the SIGUSR1 signal that is passed
from the main httpd scoreboard controll process to the childs is *not*
received any more by the childs and hence some of them stay in
keel-alive connection more forever (or at least a *very* long time).

When replacing the used SIGUSR1 signal with SIGKILL everything is
working as intended, even on the long term run.

So my assumption is that signaling breaks at some point, either age of
process or ammount of signals that the main httpd process has been
issuing.

When sending my hand

  $ kill -USR1 <pid>

to one of the outstanding keep-alive childs they *do* gracefully
shutdown, so I'm considering that the signal has not been coming in
that has been issued by the scoreboard controlling httpd.

That's all I can say from my investigations. Maybe one of the
developers now known that I'm talking about and could setup a testbed
for this, or at least advice me. I have looked into Cygwin signaling
code, but I'm not familiar with it.

Stipe

[email-masked]
-------------------------------------------------------------------
Wapme Systems AG

Münsterstr. 248
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: [email-masked]
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/