Am 5/28/2014 8:14, schrieb Jeremiah Mahler: > 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)? > Jeremiah Mahler (5): > progress.c: replace signal() with sigaction() > daemon.c run_service(): replace signal() with sigaction() > daemon.c child_handler(): replace signal() with sigaction() > daemon.c service_loop(): replace signal() with sigaction() > connect.c: replace signal() with sigaction() > > connect.c | 5 ++++- > daemon.c | 15 ++++++++++++--- > progress.c | 6 +++++- > 3 files changed, 21 insertions(+), 5 deletions(-) Isn't this a bit too much of code churn, given that there were no bug reports where signal handling is identified as the culprit despite the warning you cited above? -- Hannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html