You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ma...@hyperreal.org on 1999/02/04 07:52:41 UTC
cvs commit: apache-apr/pthreads/src/main http_config.c http_protocol.c
manoj 99/02/03 22:52:41
Modified: pthreads/src/main http_config.c http_protocol.c
Log:
Temporarily fix bug where server threads would lock up after a single
request under Linux. LinuxThreads uses SIGUSR1 (and SIGUSR2) so they aren't
available to us. We need to find an alternate means to get graceful
restarts kicked off if we want to support Linux 2.0 kernel threads.
Revision Changes Path
1.3 +5 -0 apache-apr/pthreads/src/main/http_config.c
Index: http_config.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/http_config.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -u -r1.2 -r1.3
--- http_config.c 1999/01/22 16:10:55 1.2
+++ http_config.c 1999/02/04 06:52:38 1.3
@@ -1503,9 +1503,14 @@
#ifdef SIGHUP
signal(SIGHUP, SIG_IGN);
#endif
+ /* XXX - LinuxThreads uses SIGUSR1, so we can't muck with it. Bummer. We
+ * need to find another way to do graceful restarts if we want to support
+ * kernel threads with Linux 2.0 (2.2 is supposed to fix this) - mvsk */
+#ifndef LINUX
#ifdef SIGUSR1
signal(SIGUSR1, SIG_IGN);
#endif
+#endif /* ndef LINUX */
for (m = top_module; m; m = m->next)
if (m->child_exit)
1.2 +6 -0 apache-apr/pthreads/src/main/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/http_protocol.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- http_protocol.c 1999/01/21 23:08:33 1.1
+++ http_protocol.c 1999/02/04 06:52:39 1.2
@@ -675,9 +675,15 @@
}
}
/* we've probably got something to do, ignore graceful restart requests */
+
+ /* XXX - LinuxThreads uses SIGUSR1, so we can't muck with it. Bummer. We
+ * need to find another way to do graceful restarts if we want to support
+ * kernel threads with Linux 2.0 (2.2 is supposed to fix this) - mvsk */
+#ifndef LINUX
#ifdef SIGUSR1
signal(SIGUSR1, SIG_IGN);
#endif
+#endif /* ndef LINUX */
ap_bsetflag(conn->client, B_SAFEREAD, 0);