-$Id: CHANGES,v 1.68 2000/06/30 09:12:14 stelian Exp $
+$Id: CHANGES,v 1.69 2000/08/19 22:06:03 stelian Exp $
+
+Changes between versions 0.4b17 and 0.4b19 (released ?????????????)
+===================================================================
+
+1. Fixed the signal handling in dump (which I broke in 0.4b17)
+ which was causing several strange dump failures (dump
+ hanged or segmentation faults etc).
Changes between versions 0.4b17 and 0.4b18 (released June 30, 2000)
===================================================================
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.20 2000/06/01 18:30:08 stelian Exp $";
+ "$Id: tape.c,v 1.21 2000/08/19 22:06:03 stelian Exp $";
#endif /* not lint */
#ifdef __linux__
static void
proceed(int signo)
{
- caught++;
if (ready)
siglongjmp(jmpbuf, 1);
+ caught++;
}
void
master = getpid();
{ struct sigaction sa;
+ sa.sa_sigaction = NULL;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
sa.sa_handler = dumpabort;
sigaction(SIGTERM, &sa, NULL); /* Slave sends SIGTERM on dumpabort() */
sa.sa_handler = sigpipe;
if (wrote < 0) {
(void) kill(master, SIGUSR1);
sigemptyset(&sigset);
+ sigaddset(&sigset, SIGINT);
for (;;)
sigsuspend(&sigset);
} else {