[comp.unix.microport] dumpsave for 386

hack@bellboy.UUCP (Greg Hackney) (06/13/88)

On my 386, if there is a power failure, I wanted the system
to bring itself back up automatically. But it hangs in
/etc/dumpsave waiting for the operator to enter a command.

So, I wrote this program which causes a timeout if
no one is there to answer the question.

To install it, move /etc/dumpsave to /etc/dumpsave1. Then
compile this program and install it as /etc/dumpsave.

I started to write the whole thing in C as a total
replacement program for dumpsave, but decided it
wasn't worth the effort.
--
Greg

------<cut here>------
/* dumpsave.c - Allows auto reboot to proceed on dumpsave question
 *
 * For Microport 386 Unix systems
 * Greg Hackney  (hack@bellboy.UUCP) June, 1988
 *
 * Move the original /etc/dumpsave to /etc/dumpsave1
 * Compile this as /etc/dumpsave
 *
 */

#include <stdio.h>
#include <signal.h>

#define FILE "/etc/dumpsave1"  /* File to be executed */
#define TIME 20                /* Seconds of grace before timeout */

main()
{
	int timeout();
	char answer[10];

	signal(SIGALRM,timeout);
	alarm(TIME); /* set the alarm clock */

	printf("This following query will time out in %d seconds\n",TIME);
	printf("Do you want to save a core image? (y/n): ");

	gets(answer);
	alarm(0); /* turn alarm off */
	if(answer[0] == 'y' || answer[0] == 'Y')
		execlp(FILE,FILE,0); /* run the program */
	else
		exit(0);            /* exit w/o running the program */
}
timeout() /* It timed out waiting for an answer */
{
	printf("\n");
	exit(0);            /* exit w/o running the program */
}