X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=dump%2Ftape.c;h=71de659ba9f40cc8b60d243d209140155ea105f2;hp=45535ea692e1c3adfbf9fd6b0dc3ca9ebb18cd88;hb=a7556ed9f60fca78ee087b858c1b380513d0d40b;hpb=8b7882a833092b5974aa73e06b2e55bb9d1a9e99 diff --git a/dump/tape.c b/dump/tape.c index 45535ea..71de659 100644 --- a/dump/tape.c +++ b/dump/tape.c @@ -41,7 +41,7 @@ #ifndef lint static const char rcsid[] = - "$Id: tape.c,v 1.57 2001/09/12 10:21:49 stelian Exp $"; + "$Id: tape.c,v 1.58 2001/11/17 10:44:18 stelian Exp $"; #endif /* not lint */ #include @@ -1040,6 +1040,12 @@ doslave(int cmd, int slave_number, int first) union u_spcl *uspclptr; struct s_spcl *spclptr; #endif /* USE_QFA */ + sigset_t set; + + sigemptyset(&set); + sigaddset(&set, SIGUSR2); + sigprocmask(SIG_BLOCK, &set, NULL); + sigemptyset(&set); /* * Need our own seek pointer. @@ -1178,7 +1184,7 @@ doslave(int cmd, int slave_number, int first) if (sigsetjmp(jmpbuf, 1) == 0) { ready = 1; if (!caught) - (void) pause(); + sigsuspend(&set); } ready = 0; caught = 0;