]> git.pond.sub.org Git - empserver/commitdiff
[!POSIXSIGNALS]: Thoroughly obsolete, remove. This also gets rid of
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 12 Mar 2005 12:20:50 +0000 (12:20 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 12 Mar 2005 12:20:50 +0000 (12:20 +0000)
an odd case where signals were not catched when debugging.

(main, empth_start): Using sa_handler with SA_SIGINFO is wrong.
Simply don't set SA_SIGINFO; the additional signal information is not
used anyway.

Make.sysdefs
include/misc.h
src/lib/empthread/pthread.c
src/lib/lwp/lwp.c
src/lib/lwp/lwpint.h
src/server/main.c

index 903f72d33e2f5961cd886af0847516b9f23746c7..0d221769f8c2e3cc52663f21340767dc151fea41 100644 (file)
@@ -79,7 +79,7 @@ HPUXLFLAGS =
 HPUXMASTER = GLOBALCFLAGS="$(HPUXCFLAGS)" GLOBALLFLAGS="$(HPUXLFLAGS)" RANLIB="$(HPUXRANLIB)" CLIENTLIBS=-ltermcap
 
 IRIX5RANLIB = echo
-IRIX5CFLAGS = -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -O3 -fullwarn -woff 835,709
+IRIX5CFLAGS = -DSVR4 -DRel4 -DUCONTEXT -O3 -fullwarn -woff 835,709
 IRIX5LFLAGS = -lnsl
 IRIX5MASTER = GLOBALCFLAGS="$(IRIX5CFLAGS)" GLOBALLFLAGS="$(IRIX5LFLAGS)" RANLIB="$(IRIX5RANLIB)"
 
@@ -96,7 +96,7 @@ RTPCCFLAGS = -DBSD_INCLUDES -Daix -Dsys5 $(LOCALCFLAGS) -a
 RTPCLFLAGS = 
 RTPCMASTER = GLOBALCFLAGS="$(RTPCCFLAGS)" GLOBALLFLAGS="$(RTPCLFLAGS)"
 
-SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris
+SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -Dsolaris
 SOLLFLAGS = -lnsl -lsocket -lthread
 SOLMASTER = GLOBALCFLAGS="$(SOLCFLAGS)" GLOBALLFLAGS="$(SOLLFLAGS)"
 
@@ -155,6 +155,6 @@ MIPSBSDCFLAGS = -DMIPS -DNOSTRDUP -G 33 -signed
 MIPSBSDLFLAGS = -G 33
 MIPSBSDMASTER = GLOBALCFLAGS="$(MIPSBSDCFLAGS)" GLOBALLFLAGS="$(MIPSBSDLFLAGS)"
 
-VAXULTCFLAGS = -O -DNOSTRDUP -DPOSIXSIGNALS
+VAXULTCFLAGS = -O -DNOSTRDUP
 VAXULTLFLAGS =
 VAXULTMASTER = GLOBALCFLAGS="$(VAXULTCFLAGS)" GLOBALLFLAGS="$(VAXULTLFLAGS)"
index 5f350ae0e94199808b55796c132f83b1a55d281b..637515b9e1f70276022b07e0aae1a3dee44b117b 100644 (file)
@@ -90,18 +90,10 @@ struct mob_acc_globals {
 
 typedef u_char natid;          /* NSC_NATID must match this */
 
-#if defined(__linux__ ) || defined(__osf__)
-#define POSIXSIGNALS 1
-#endif
-
 #if !defined (_EMPTH_LWP) && !defined (_EMPTH_POSIX)
 #define _EMPTH_LWP     1
 #endif
 
-#if defined(_EMPTH_POSIX) && !defined(POSIXSIGNALS)
-#define POSIXSIGNALS
-#endif
-
 
 #if !defined(aix) && !defined(sgi)
 #ifndef ultrix                 /* already defined in ultrix */
index b5882cef19a85c156fd03a0ee38a671e7b57adde..301f962178e74a4ac5cedb0bbc88285a14d43352 100644 (file)
@@ -65,9 +65,6 @@ empth_start(void *ctx)
     struct sigaction act;
 
     /* actually it should inherit all this from main but... */
-#ifdef SA_SIGINFO
-    act.sa_flags = SA_SIGINFO;
-#endif
     sigemptyset(&act.sa_mask);
     act.sa_handler = shutdwn;
     /* pthreads on Linux use SIGUSR1 (*shrug*) so only catch it if not on
index 90bb99b2ea347c7fd93f056f8d72fe88682168a4..9696305061ba1a8eca62ce03bbe9303f300030d1 100644 (file)
@@ -42,11 +42,7 @@ struct lwpProc *LwpCurrent = NULL;
 char **LwpContextPtr;
 int LwpMaxpri = 0;             /* maximum priority so far */
 
-#ifdef POSIXSIGNALS
 static sigset_t oldmask;
-#else  /* POSIXSIGNALS */
-static int oldmask;
-#endif /* POSIXSIGNALS */
 
 /* for systems without strdup  */
 #ifdef NOSTRDUP
@@ -85,9 +81,7 @@ lwpReschedule(void)
     static int lcount = LCOUNT;
     static struct lwpProc *nextp;
     static int i;
-#ifdef POSIXSIGNALS
     static sigset_t tmask;
-#endif /* POSIXSIGNALS */
 
     if (LwpCurrent && (LwpCurrent->flags & LWP_STACKCHECK)) {
        lwpStackCheck(LwpCurrent);
@@ -95,12 +89,8 @@ lwpReschedule(void)
     if (!--lcount) {
        int p = lwpSetPriority(LWP_MAX_PRIO - 1);
        lcount = LCOUNT;
-#ifdef POSIXSIGNALS
        sigprocmask(SIG_SETMASK, &oldmask, &tmask);
        sigprocmask(SIG_SETMASK, &tmask, &oldmask);
-#else  /* POSIXSIGNALS */
-       sigsetmask(sigsetmask(oldmask));
-#endif /* POSIXSIGNALS */
        LwpCurrent->pri = p;
     }
 
@@ -190,20 +180,14 @@ lwpReschedule(void)
 void
 lwpEntryPoint(void)
 {
-#ifdef POSIXSIGNALS
     sigset_t set;
-#endif /* POSIXSIGNALS */
 
 #ifdef BOUNDS_CHECK
     BOUNDS_CHECKING_OFF;
 #endif
-#ifdef POSIXSIGNALS
     sigemptyset(&set);
     sigaddset(&set, SIGALRM);
     sigprocmask(SIG_SETMASK, &set, &oldmask);
-#else  /*  POSIXSIGNALS */
-    sigsetmask(SIGNALS);
-#endif /* POSIXSIGNALS */
     *LwpContextPtr = LwpCurrent->ud;
 
     lwpStatus(LwpCurrent, "starting at entry point");
index ba044a349e8d4bede46cc9858a7a550db0fb91f0..d3ca7fa02fe6f2b391ac505952b11957c10d876e 100644 (file)
@@ -72,8 +72,6 @@ void lwpRestore(jmp_buf);
 /* XXX Note that this assumes sizeof(long) == 4 */
 #define LWP_CHECKMARK  0x5a5a5a5aL
 
-#define SIGNALS        sigmask(SIGALRM)
-
 #ifndef hpux
 typedef double stkalign_t;
 #else
index eccb55b52df945e7e3f0d54aa8d20c4163e82dc4..6cd3ca42ebeef598fba8983dffdc82692c16e3a5 100644 (file)
@@ -251,6 +251,9 @@ main(int argc, char **argv)
 }
 
 
+/*
+ * Initialize for serving, acquire resources.
+ */
 void
 init_server(void)
 {
@@ -278,20 +281,17 @@ init_server(void)
     logerror("Empire server (pid %d) started", (int)getpid());
 }
 
+/*
+ * Start serving.
+ */
 void
 start_server(int flags)
 {
-#ifdef POSIXSIGNALS
     struct sigaction act;
-#endif /* POSIXSIGNALS */
 
 #if !defined(_WIN32)
     /* signal() should not be used with mit pthreads. Anyway if u
        have a posix threads u definitly have posix signals -- Sasha */
-#if defined (POSIXSIGNALS) || defined (_EMPTH_POSIX)
-#ifdef SA_SIGINFO
-    act.sa_flags = SA_SIGINFO;
-#endif
     sigemptyset(&act.sa_mask);
     act.sa_handler = shutdwn;
     /* pthreads on Linux use SIGUSR1 (*shrug*) so only catch it if not on
@@ -308,23 +308,7 @@ start_server(int flags)
     sigaction(SIGFPE, &act, NULL);
     act.sa_handler = SIG_IGN;
     sigaction(SIGPIPE, &act, NULL);
-#else
-    if (debug == 0 && flags == 0) {
-       /* pthreads on Linux use SIGUSR1 (*shrug*) so only catch it if not on
-          a Linux box running POSIX threads -- STM */
-#if !(defined(__linux__) && defined(_EMPTH_POSIX))
-       signal(SIGUSR1, shutdwn);
-#endif
-       signal(SIGTERM, shutdwn);
-       signal(SIGBUS, panic);
-       signal(SIGSEGV, panic);
-       signal(SIGILL, panic);
-       signal(SIGFPE, panic);
-       signal(SIGINT, shutdwn);
-    }
-    signal(SIGPIPE, SIG_IGN);
-#endif /* POSIXSIGNALS */
-#endif /* _WIN32 */
+#endif /* !_WIN32 */
 
     empth_init((char **)&player, flags);
 
@@ -398,7 +382,6 @@ close_files(void)
 void
 panic(int sig)
 {
-#ifdef POSIXSIGNALS
     struct sigaction act;
 
     act.sa_flags = 0;
@@ -408,12 +391,6 @@ panic(int sig)
     sigaction(SIGSEGV, &act, NULL);
     sigaction(SIGILL, &act, NULL);
     sigaction(SIGFPE, &act, NULL);
-#else
-    signal(SIGBUS, SIG_DFL);
-    signal(SIGSEGV, SIG_DFL);
-    signal(SIGILL, SIG_DFL);
-    signal(SIGFPE, SIG_DFL);
-#endif /* POSIXSIGNALS */
     logerror("server received fatal signal %d", sig);
     log_last_commands();
     close_files();
@@ -579,9 +556,7 @@ loc_NTInit()
        _exit(1);
     }
 }
-#endif
 
-#if defined(_WIN32)
 void
 loc_NTTerm()
 {