summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-09-27 21:21:48 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-09-27 21:22:15 -0700
commit02533d1a602fd1441836bc7df12a3a0a96c806de (patch)
tree87a1fa6febe60e39ca9332fb9f3d0142c97b2ca6
parentd0dd0473f75476447f51522a23f790ecc0bfc4db (diff)
downloadtar-02533d1a602fd1441836bc7df12a3a0a96c806de.tar.gz
2011-09-27 Paul Eggert <eggert@cs.ucla.edu>
* src/tar.c (stat_on_signal): Use SA_RESTART if available.
-rw-r--r--src/tar.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tar.c b/src/tar.c
index 6d370441..f0d8f5bf 100644
--- a/src/tar.c
+++ b/src/tar.c
@@ -956,10 +956,13 @@ static void
stat_on_signal (int signo)
{
#ifdef HAVE_SIGACTION
+# ifndef SA_RESTART
+# define SA_RESTART 0
+# endif
struct sigaction act;
act.sa_handler = sigstat;
sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
+ act.sa_flags = SA_RESTART;
sigaction (signo, &act, NULL);
#else
signal (signo, sigstat);