[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #58743] siggetmask should be called with no arguments.

From: Paul D. Smith
Subject: [bug #58743] siggetmask should be called with no arguments.
Date: Fri, 10 Jul 2020 09:53:45 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

Follow-up Comment #1, bug #58743 (project make):

Thanks, I will fix this.  The reason this doesn't show up on systems I test on
is that this code is only run if the POSIX macro is not set.

The POSIX macro will be set if both HAVE_UNISTD_H is defined AND
_POSIX_VERSION is defined (unless either ultrix of VMS are also defined).

I can't imagine why tcc on Linux causes this to not work.  I would assume
that, unless you're also using some strange libc other than GNU libc which
does not set _POSIX_VERSION, that it should be set regardless of the

I recommend you investigate the output of config.log to find out why these
options are not set.

>From makeint.h:

# include <unistd.h>
/* Ultrix's unistd.h always defines _POSIX_VERSION, but you only get
   POSIX.1 behavior with 'cc -YPOSIX', which predefines POSIX itself!  */
# if defined (_POSIX_VERSION) && !defined (ultrix) && !defined (VMS)
#  define POSIX 1
# endif

Then it gets undefined again but only on very old systems.

And in src/job.c:

#ifdef POSIX
#elif defined(HAVE_SIGSETMASK)

static void
unblock_sigs ()
  sigsetmask (siggetmask (0) & ~fatal_signal_mask)


Reply to this item at:


  Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]