delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/06/18/00:11:05

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019