This is the mail archive of the cygwin@sourceware.cygnus.com
mailing list for the Cygwin project. See the Cygwin
home page for more information.
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]
B20.1: Returning from pause() before signal handler runs?
- To: cygwin@sourceware.cygnus.com
- Subject: B20.1: Returning from pause() before signal handler runs?
- From: Richard.Hirst@net-tel.co.uk
- Date: Thu, 25 Mar 1999 14:02:53 +0000
- Delivered-To: listarch-cygwin@sourceware.cygnus.com
- Delivered-To: mailing list cygwin@sourceware.cygnus.com
- Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
- Original-Encoded-Information-Types: IA5-Text, (2)(6)(1)(12)(0), (1)(2)(840)(113556)(3)(10)(1)
- Sender: cygwin-owner@sourceware.cygnus.com
- X400-Content-Identifier: B20.1: Returning
- X400-Content-Type: P2-1988 (22)
- X400-MTS-Identifier: ["/PRMD=NET-TEL/ADMD=Gold 400/C=GB/";pawpaw:01e5-990325140253-06b7]
- X400-Originator: Richard.Hirst@net-tel.co.uk
- X400-Received: by "/PRMD=NET-TEL/ADMD=Gold 400/C=GB/"; Relayed; Thu, 25 Mar 1999 14:02:53 +0000
- X400-Received: by mta "ice" in "/PRMD=net-tel/ADMD=gold 400/C=gb/"; Relayed; Thu, 25 Mar 1999 14:02:41 +0000
- X400-Received: by mta "net-tel" in "/PRMD=net-tel/ADMD=gold 400/C=gb/"; Relayed; Thu, 25 Mar 1999 14:02:44 +0000
- X400-Received: by mta "pawpaw" in "/PRMD=net-tel/ADMD=gold 400/C=gb/"; Relayed; Thu, 25 Mar 1999 14:02:53 +0000
- X400-Recipients: cygwin@sourceware.cygnus.com
Hi,
I am running "sendmail -q1" under B20.1 on NT4.0 SP3. This should poll a
queue directory once a minute, but I find that after a few polls it goes to
sleep. I have provided a small test program which shows the problem.
The parent installs ALRM and CHLD signal handlers, forks a child,
requests an alarm tick., and calls pause(). The child exits. Sometimes
the child exits before the parent calls pause(), sometimes not. The
signal handlers increment counts each time they run. The parent notes
these counts before calling pause, and again after returning from pause().
Sometimes the parent finds that the counts havn't changed; it does a
printf() and checks the counts again - now they have changed.
It looks to me as though the parent is returning from pause() before
the signal handler has been run.
I can provoke the problem within a few cycles if I run a couple of
copies of the program and then start up a few other programs (DevStudio,
MSDOS boxes, etc). This is on a PII-233 with 64MB, NT4.0 SP3.
If anyone could reproduce the problem, and say whether it looks like
a cygwin bug or not, I'd appreciate it.
Thanks,
Richar
bug.c
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com