From: Jeremiah Mahler Date: Wed, 28 May 2014 06:14:11 GMT Subject: [PATCH 1/5] progress.c: replace signal() with sigaction() Message-ID: <1401257655-6043-2-git-send-email-jmmahler@gmail.com> In-Reply-To: <1401257655-6043-1-git-send-email-jmmahler@gmail.com> 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. Replaced signal() with sigaction() in progress.c Signed-off-by: Jeremiah Mahler --- progress.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/progress.c b/progress.c index 261314e..24df263 100644 --- a/progress.c +++ b/progress.c @@ -66,8 +66,12 @@ static void set_progress_signal(void) static void clear_progress_signal(void) { struct itimerval v = {{0,},}; + struct sigaction sa; + + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = SIG_IGN; setitimer(ITIMER_REAL, &v, NULL); - signal(SIGALRM, SIG_IGN); + sigaction(SIGALRM, &sa, 0); progress_update = 0; } -- 2.0.0.rc4.6.g127602c