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

Revision v1 of 3 in this series.

Revisions (3)
  1. v1 current
  2. v2 [diff vs current]
  3. v3 [diff vs current]

[PATCH 1/5] progress.c: replace signal() with sigaction()

From: Jeremiah Mahler <hidden>
Date: 2016-06-15 23:01:24
Subsystem: the rest · Maintainer: Linus Torvalds

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help