Subject: sigaddset() should return 0 or -1
From: [email-masked] (Richard Hitt)

4 May 1998 07:11:59 -0700
Message-ID: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 8bit
To: [email-masked]

Hi.

I'm porting an application that expects sigaddset() to return 0 if it
worked.  But in the CDK, sigaddset is implemented by a macro that
doesn't care what it returns.  The file is
/cygnus/b19/H-i386-cygwin32/i386-cygwin32/include/sys/signal.h.
The macro is
#define sigaddset(what,sig) (*(what) |= (1<<(sig)))

So I changed it to always return 0:
#define sigaddset(what,sig) ((*(what) |= (1<<(sig))),0)

and avoided an unpleasant hack in my application.  May I suggest that
you consider incorporating this change in your signal.h?  Or, for all
I know, there may be other considerations why the macro must be as it
is.

Thanks for a fine environment.

Richard Hitt
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".