ptserver: convert the ptserver to opr softsig 97/11997/8
authorMichael Meffie <mmeffie@sinenomine.net>
Wed, 2 Sep 2015 20:33:46 +0000 (16:33 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Mon, 25 Apr 2016 04:00:39 +0000 (00:00 -0400)
Convert the ptserver from regular signal handling to the opr soft
signal handling when built with pthreads. This makes it safe to call
pthread functions within signal handlers.

Change-Id: I43d345517c75e275d6896154a979a908181a1f39
Reviewed-on: https://gerrit.openafs.org/11997
Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/ptserver/ptserver.c

index 14bb962..fdf37c1 100644 (file)
 
 #include <roken.h>
 #include <afs/opr.h>
+#ifdef AFS_PTHREAD_ENV
+# include <opr/softsig.h>
+# include <afs/procmgmt_softsig.h> /* must come after softsig.h */
+#endif
 
 #ifdef AFS_NT40_ENV
 #include <WINNT/afsevent.h>
@@ -441,7 +445,12 @@ main(int argc, char **argv)
     serverLogSyslogTag = "ptserver";
 #endif
     OpenLog(logFile);  /* set up logging */
+#ifdef AFS_PTHREAD_ENV
+    opr_softsig_Init();
+    SetupLogSoftSignals();
+#else
     SetupLogSignals();
+#endif
 
     prdir = afsconf_Open(configDir);
     if (!prdir) {