From: Jeremiah Mahler Date: Sun, 01 Jun 2014 18:10:15 GMT Subject: [PATCH v3 6/9] builtin/log.c: replace signal() with sigaction() Message-ID: <089731f7d0287838646c52e14a8c4a8bc41dea7d.1401645403.git.jmmahler@gmail.com> In-Reply-To: From the signal(2) man page: 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. Replaced signal() with sigaction() in builtin/log.c Signed-off-by: Jeremiah Mahler --- builtin/log.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/builtin/log.c b/builtin/log.c index 39e8836..f1deea1 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -315,7 +315,11 @@ static void setup_early_output(struct rev_info *rev) static void finish_early_output(struct rev_info *rev) { int n = estimate_commit_count(rev, rev->commits); - signal(SIGALRM, SIG_IGN); + struct sigaction sa; + + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = SIG_IGN; + sigaction(SIGALRM, &sa, NULL); show_early_header(rev, "done", n); } -- 2.0.0.8.g7bf6e1f.dirty