[8093] in Athena Bugs
[haynes@cats.UCSC.EDU: patch for Sun]
daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Tue Sep 3 18:50:59 1991
Date: Tue, 3 Sep 91 18:51:22 -0400
From: "Jonathan I. Kamens" <jik@pit-manager.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
This has already been sent to bug-moira, but it should be in the bug
database too, so we can track it and know when it has been resolved.
jik
----- Forwarded message
To: bug-moira@ATHENA.MIT.EDU
Cc: jik@ATHENA.MIT.EDU, tom@mit.edu
Subject: patch for Sun
Date: Thu, 29 Aug 91 17:46:39 PDT
From: haynes@cats.ucsc.edu <haynes@cats.UCSC.EDU>
This prevents accumulation of zombies on Suns running the update server.
I don't claim to understand it; it's stolen from Tim Kolar's fixes to the
lp daemon.
*** 1.1 1991/08/29 21:36:56
--- gdb_fserv.c 1991/08/29 22:20:38
***************
*** 1,10 ****
/*
* $Source: /source/common/athena/athena.lib/moira/gdb/RCS/gdb_fserv.c,v $
! * $Header: /source/common/athena/athena.lib/moira/gdb/RCS/gdb_fserv.c,v 1.1 1991/08/29 21:36:56 haynes Exp $
*/
#ifndef lint
! static char *rcsid_gdb_fserv_c = "$Header: /source/common/athena/athena.lib/moira/gdb/RCS/gdb_fserv.c,v 1.1 1991/08/29 21:36:56 haynes Exp $";
#endif lint
--- 1,10 ----
/*
* $Source: /source/common/athena/athena.lib/moira/gdb/RCS/gdb_fserv.c,v $
! * $Header: /source/common/athena/athena.lib/moira/gdb/RCS/gdb_fserv.c,v 1.5 1991/08/29 22:20:23 haynes Exp $
*/
#ifndef lint
! static char *rcsid_gdb_fserv_c = "$Header: /source/common/athena/athena.lib/moira/gdb/RCS/gdb_fserv.c,v 1.5 1991/08/29 22:20:23 haynes Exp $";
#endif lint
***************
*** 180,186 ****
--- 180,190 ----
/* Called on SIGCHILD to reap all dead children.
/*
/************************************************************************/
+ #ifndef sun
int
+ #else
+ void
+ #endif
gdb_reaper()
{
union wait status;
***************
*** 213,217 ****
--- 217,230 ----
int
g_do_signals()
{
+ #ifdef sun
+ struct sigvec act;
+
+ act.sv_handler = gdb_reaper;
+ act.sv_mask = 0;
+ act.sv_flags = 0;
+ (void) sigvec(SIGCHLD, &act, NULL);
+ #else
(void) signal(SIGCHLD, gdb_reaper);
+ #endif
}
----- End of forwarded message