This repository has been archived by the owner on Sep 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update Patch19 and Patch25 from Fedora http://pkgs.fedoraproject.org/cgit/rpms/httpd.git/commit/?id=59afc1533e764a1108136ae1aab3671632aa3797 refresh Patch28 update Patch57 from Fedora http://pkgs.fedoraproject.org/cgit/rpms/httpd.git/commit/?id=fd6452a0f2d4aa85e5f8e757be7f0b89511cdf0e update Source6 and Source27 and add latest version of Source32 from Fedora http://pkgs.fedoraproject.org/cgit/rpms/httpd.git/commit/?id=fce414a1c1f39ab4631e9747b212e037276d295d remove Patch58, fixed upstream
- Loading branch information
Showing
10 changed files
with
335 additions
and
129 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,18 @@ | ||
From 20656c3b77cc548b59fea3bde5e2b7705d71c427 Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Jan=20Kalu=C5=BEa?= <[email protected]> | ||
Date: Mon, 18 Aug 2014 07:43:43 +0000 | ||
Subject: [PATCH] prefork: Ignore SIGINT in child. This fixes race-condition in | ||
signals handling when httpd is runnning on foreground and user hits ctrl+c. | ||
In this case, SIGINT is sent to all children followed by SIGTERM from the | ||
main process, which interrupts the SIGINT handler and leads to inconsistency | ||
(process freezes or crashes). | ||
|
||
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1618555 13f79535-47bb-0310-9956-ffa450edef68 | ||
--- | ||
server/mpm/prefork/prefork.c | 10 ++++++++++ | ||
1 file changed, 10 insertions(+) | ||
|
||
diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c | ||
index 8790ec0..d6c038b 100644 | ||
index 559f90a..a386a75 100644 | ||
--- a/server/mpm/prefork/prefork.c | ||
+++ b/server/mpm/prefork/prefork.c | ||
@@ -222,6 +222,9 @@ static void clean_child_exit(int code) | ||
@@ -220,6 +220,9 @@ static void clean_child_exit(int code) | ||
{ | ||
mpm_state = AP_MPMQ_STOPPING; | ||
retained->mpm->mpm_state = AP_MPMQ_STOPPING; | ||
|
||
+ apr_signal(SIGHUP, SIG_IGN); | ||
+ apr_signal(SIGTERM, SIG_IGN); | ||
+ | ||
if (pchild) { | ||
apr_pool_destroy(pchild); | ||
} | ||
@@ -817,6 +820,13 @@ static int make_child(server_rec *s, int slot) | ||
@@ -699,6 +702,13 @@ static int make_child(server_rec *s, int slot, int bucket) | ||
*/ | ||
apr_signal(SIGHUP, just_die); | ||
apr_signal(SIGTERM, just_die); | ||
|
@@ -40,6 +26,3 @@ index 8790ec0..d6c038b 100644 | |
/* The child process just closes listeners on AP_SIG_GRACEFUL. | ||
* The pod is used for signalling the graceful restart. | ||
*/ | ||
-- | ||
2.0.4 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
diff -uap httpd-2.4.25/acinclude.m4.detectsystemd httpd-2.4.25/acinclude.m4 | ||
diff -uap httpd-2.4.25/acinclude.m4.detectsystemd httpd-2.4.25/acinclude.m4 | ||
diff -uap httpd-2.4.25/acinclude.m4.detectsystemd httpd-2.4.25/acinclude.m4 | ||
--- httpd-2.4.25/acinclude.m4.detectsystemd | ||
+++ httpd-2.4.25/acinclude.m4 | ||
@@ -604,6 +604,30 @@ | ||
fi | ||
]) | ||
|
||
+AC_DEFUN(APACHE_CHECK_SYSTEMD, [ | ||
+dnl Check for systemd support for listen.c's socket activation. | ||
+case $host in | ||
+*-linux-*) | ||
+ if test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd; then | ||
+ SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd` | ||
+ elif test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd-daemon; then | ||
+ SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd-daemon` | ||
+ else | ||
+ AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon") | ||
+ fi | ||
+ if test -n "$SYSTEMD_LIBS"; then | ||
+ AC_CHECK_HEADERS(systemd/sd-daemon.h) | ||
+ if test "${ac_cv_header_systemd_sd_daemon_h}" = "no" || test -z "${SYSTEMD_LIBS}"; then | ||
+ AC_MSG_WARN([Your system does not support systemd.]) | ||
+ else | ||
+ APR_ADDTO(HTTPD_LIBS, [$SYSTEMD_LIBS]) | ||
+ AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is supported]) | ||
+ fi | ||
+ fi | ||
+ ;; | ||
+esac | ||
+]) | ||
+ | ||
dnl | ||
dnl APACHE_EXPORT_ARGUMENTS | ||
dnl Export (via APACHE_SUBST) the various path-related variables that | ||
diff -uap httpd-2.4.25/configure.in.detectsystemd httpd-2.4.25/configure.in | ||
--- httpd-2.4.25/configure.in.detectsystemd | ||
+++ httpd-2.4.25/configure.in | ||
@@ -234,6 +234,7 @@ | ||
AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) | ||
APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) | ||
APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) | ||
+ APR_ADDTO(HTTPD_LIBS, [\$(PCRE_LIBS)]) | ||
else | ||
AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/]) | ||
fi | ||
@@ -504,6 +510,8 @@ | ||
AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field]) | ||
fi | ||
|
||
+APACHE_CHECK_SYSTEMD | ||
+ | ||
dnl ## Set up any appropriate OS-specific environment variables for apachectl | ||
|
||
case $host in | ||
@@ -668,6 +676,7 @@ | ||
APACHE_SUBST(BUILTIN_LIBS) | ||
APACHE_SUBST(SHLIBPATH_VAR) | ||
APACHE_SUBST(OS_SPECIFIC_VARS) | ||
+APACHE_SUBST(HTTPD_LIBS) | ||
|
||
PRE_SHARED_CMDS='echo ""' | ||
POST_SHARED_CMDS='echo ""' | ||
--- httpd-2.4.25/Makefile.in.detectsystemd | ||
+++ httpd-2.4.25/Makefile.in | ||
@@ -4,7 +4,7 @@ | ||
|
||
PROGRAM_NAME = $(progname) | ||
PROGRAM_SOURCES = modules.c | ||
-PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(PCRE_LIBS) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) | ||
+PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(HTTPD_LIBS) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) | ||
PROGRAM_PRELINK = $(COMPILE) -c $(top_srcdir)/server/buildmark.c | ||
PROGRAM_DEPENDENCIES = \ | ||
server/libmain.la \ |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.