-/* $NetBSD: pl_1.c,v 1.17 2003/08/07 09:37:43 agc Exp $ */
+/* $NetBSD: pl_1.c,v 1.21 2009/03/14 22:52:52 dholland Exp $ */
/*
* Copyright (c) 1983, 1993
#if 0
static char sccsid[] = "@(#)pl_1.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: pl_1.c,v 1.17 2003/08/07 09:37:43 agc Exp $");
+__RCSID("$NetBSD: pl_1.c,v 1.21 2009/03/14 22:52:52 dholland Exp $");
#endif
#endif /* not lint */
printf("The driver died.\n");
break;
case LEAVE_FORK:
- perror("fork");
break;
case LEAVE_SYNC:
printf("Synchronization error\n.");
if (conditions != LEAVE_SYNC) {
makemsg(ms, "Captain %s relinquishing.",
mf->captain);
- Write(W_END, ms, 0, 0, 0, 0);
+ send_end(ms);
Sync();
}
}
/*ARGSUSED*/
void
-choke(int n __attribute__((__unused__)))
+choke(int n __unused)
{
leave(LEAVE_QUIT);
}
/*ARGSUSED*/
void
-child(int n __attribute__((__unused__)))
+child(int n __unused)
{
- union wait status;
+ int status;
int pid;
signal(SIGCHLD, SIG_IGN);
do {
- pid = wait3((int *)&status, WNOHANG, (struct rusage *)0);
+ pid = wait3(&status, WNOHANG, (struct rusage *)0);
if (pid < 0 || (pid > 0 && !WIFSTOPPED(status)))
hasdriver = 0;
} while (pid > 0);