Commit 279cad74 authored by Bill Stoddard's avatar Bill Stoddard
Browse files

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 <trawick@us.ibm.com>
Reviewed by:	Bill Stoddard <stoddard@us.ibm.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84661 13f79535-47bb-0310-9956-ffa450edef68
parent 8144b4b7
Loading
Loading
Loading
Loading
+7 −3
Changes for server/main.c: 7 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -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();