From 151d004b7d3d071355ae3adf5de1b8be25b852d9 Mon Sep 17 00:00:00 2001 From: Bill Stoddard Date: Wed, 23 Feb 2000 15:37:37 +0000 Subject: [PATCH] 2.0 builds, but dumps core on FreeBSD 3.3 (ap_lock). Basically, ap_initialize() needs to get called before create_process(), since create_process() passes op_on structure to semop() to get a lock, but op_on isn't initialized until ap_initialize() calls setup_lock(). Here is a slight rearrangement to main() which calls ap_initialize() earlier... Submitted by: Jeff Trawick Reviewed by: Bill Stoddard git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84661 13f79535-47bb-0310-9956-ffa450edef68 --- server/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server/main.c b/server/main.c index 1fb6e684ad..b71e77b638 100644 --- a/server/main.c +++ b/server/main.c @@ -290,14 +290,18 @@ API_EXPORT_NONSTD(int) main(int argc, char *argv[]) int configtestonly = 0; const char *confname = SERVER_CONFIG_FILE; const char *def_server_root = HTTPD_ROOT; - process_rec *process = create_process(argc, (const char **)argv); + process_rec *process; server_rec *server_conf; - ap_context_t *pglobal = process->pool; - ap_context_t *pconf = process->pconf; + ap_context_t *pglobal; + ap_context_t *pconf; ap_context_t *plog; /* Pool of log streams, reset _after_ each read of conf */ ap_context_t *ptemp; /* Pool for temporary config stuff, reset often */ ap_context_t *pcommands; /* Pool for -C and -c switches */ + ap_initialize(); + process = create_process(argc, (const char **)argv); + pglobal = process->pool; + pconf = process->pconf; ap_server_argv0 = process->short_name; ap_util_uri_init(); -- 2.50.1