[8093] in Athena Bugs

home help back first fref pref prev next nref lref last post

[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

home help back first fref pref prev next nref lref last post