From: sos@prospect.com.ru (Sergey Okhapkin)
Subject: RE: Simple test case of SIGCHLD hang
18 Jun 1997 00:11:05 -0700
Approved: cygnus.gnu-win32@cygnus.com
Distribution: cygnus
Message-ID: <01BC7BBF.344B6EA0.cygnus.gnu-win32@sos>
Original-To: "gnu-win32@cygnus.com" <gnu-win32@cygnus.com>,
        "'Chris Faylor'"
	 <cgf@bbc.com>
Encoding: 24 TEXT
Original-Sender: owner-gnu-win32@cygnus.com

Chris Faylor wrote:
> 
>     sleep(1);
>     fputs("sleeping\n", stderr);
>     sleep(3);
>     sigdelset(&set, SIGCHLD);
>     sigsuspend(&set);
>     exit(0);

I.e. sigsuspend() must check pending signals not blocked by "set" argument and raise ones if exists? Something like

  if(there is pending unblocked signals) {
	 raise(that signals);
	 return 0;
  }
  wait for a new signal forever;
  return 0;

Am I right? Does anybody knows the exact sigsuspend() semantics?

-- 
Sergey Okhapkin, http://www.lexa.ru/sos
Moscow, Russia
Looking for a job

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
