diff options
Diffstat (limited to 'www/apache21/files/patch-server:main.c')
-rw-r--r-- | www/apache21/files/patch-server:main.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/www/apache21/files/patch-server:main.c b/www/apache21/files/patch-server:main.c new file mode 100644 index 000000000000..d297d4425fdb --- /dev/null +++ b/www/apache21/files/patch-server:main.c @@ -0,0 +1,36 @@ +--- server/main.c.orig Thu Jun 13 04:34:56 2002 ++++ server/main.c Sun Jul 21 08:54:09 2002 +@@ -78,6 +78,11 @@ + #include "ap_mpm.h" + #include "mpm_common.h" + ++#ifdef FREEBSD_THREAD_HACK ++#include <unistd.h> ++AP_DECLARE(int) ap_exists_config_define(const char *name); ++#endif ++ + /* WARNING: Win32 binds http_main.c dynamically to the server. Please place + * extern functions and global data in another appropriate module. + * +@@ -558,6 +563,21 @@ + destroy_and_exit_process(process, 1); + } + ++#ifdef FREEBSD_THREAD_HACK ++ { ++ int r; ++ ++ if (! ap_exists_config_define("NO_DETACH")) { ++ if ((r = fork()) > 0) ++ return 0; ++ if (r == -1) { ++ perror("fork"); ++ return 0; ++ } ++ setsid(); ++ } ++ } ++#endif + ap_process_config_tree(server_conf, ap_conftree, process->pconf, ptemp); + ap_fixup_virtual_hosts(pconf, server_conf); + ap_fini_vhost_config(pconf, server_conf); |