Thread (12 messages) flat view 12 messages, 4 authors, 2016-06-15

Re: [PATCH 0/5] replace signal() with sigaction()

From: Erik Faye-Lund <hidden>
Date: 2016-06-15 23:01:24

On Wed, May 28, 2014 at 10:11 AM, Chris Packham [off-list ref] wrote:
On 28/05/14 19:40, Johannes Sixt wrote:
quoted
Am 5/28/2014 8:14, schrieb Jeremiah Mahler:
quoted
From signal(2)

  The behavior of signal() varies across UNIX versions, and has also var‐
  ied historically across different versions of Linux.   Avoid  its  use:
  use sigaction(2) instead.  See Portability below.

This patch set replaces calls to signal() with sigaction() in all files
except sigchain.c.  sigchain.c is a bit more complicated than the others
and will be done in a separate patch.
In compat/mingw.c we have:

int sigaction(int sig, struct sigaction *in, struct sigaction *out)
{
      if (sig != SIGALRM)
              return errno = EINVAL,
                      error("sigaction only implemented for SIGALRM");
      if (out != NULL)
              return errno = EINVAL,
                      error("sigaction: param 3 != NULL not implemented");

      timer_fn = in->sa_handler;
      return 0;
}

Notice "only implemented for SIGALRM". Are adding the missing signals
somewhere (here or in a later patch)?
* note: not a windows/mingw programmer *

Will the ones setting SIG_IGN be OK? Presumably we won't get these
signals on windows anyway so we're already getting what we want.
We'll still emit an useless error unless someone cooks up a fix.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help