stoddard 00/02/23 07:37:38
Modified: src/main http_main.c Log: 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 <[EMAIL PROTECTED]> Reviewed by: Bill Stoddard <[EMAIL PROTECTED]> Revision Changes Path 1.30 +7 -3 apache-2.0/src/main/http_main.c Index: http_main.c =================================================================== RCS file: /home/cvs/apache-2.0/src/main/http_main.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- http_main.c 2000/02/14 22:01:04 1.29 +++ http_main.c 2000/02/23 15:37:37 1.30 @@ -290,14 +290,18 @@ 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();