cvs commit: apache-2.0/mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_cgi.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_include.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c
dgaudet 99/07/27 05:05:15 Modified:mpm/src/include http_config.h mpm/src/main http_config.c http_core.c http_main.c http_vhost.c mpm/src/modules/mpm/dexter dexter.c mpm/src/modules/mpm/mpmt_pthread mpmt_pthread.c mpm/src/modules/mpm/prefork prefork.c mpm/src/modules/mpm/spmt_os2 spmt_os2.c mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_cgi.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_include.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c Log: - get rid of pre_command_line_hook ... use register_hooks for this purpose - get rid of optreset... screw -D, use environment variables ONE_PROCESS, SHOW_HOOKS, DUMP_VHOSTS, ... at least it builds this way :) Revision ChangesPath 1.11 +0 -2 apache-2.0/mpm/src/include/http_config.h Index: http_config.h === RCS file: /home/cvs/apache-2.0/mpm/src/include/http_config.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- http_config.h 1999/07/24 18:38:37 1.10 +++ http_config.h 1999/07/27 12:04:59 1.11 @@ -211,7 +211,6 @@ * (see also mod_so). */ -void (*pre_command_line)(pool *pcommands); void (*pre_config)(pool *pconf, pool *plog, pool *ptemp); void (*open_logs)(pool *pconf, pool *plog, pool *ptemp, server_rec *); void (*post_config)(pool *pconf, pool *plog, pool *ptemp, server_rec *); @@ -334,7 +333,6 @@ void ap_setup_prelinked_modules(void); void ap_show_directives(void); void ap_show_modules(void); -void ap_pre_command_line_hook(pool *pcommands); void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp); server_rec *ap_read_config(pool *conf_pool, pool *temp_pool, const char *config_name); void ap_open_logs_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s); 1.14 +1 -10 apache-2.0/mpm/src/main/http_config.c Index: http_config.c === RCS file: /home/cvs/apache-2.0/mpm/src/main/http_config.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- http_config.c 1999/07/24 18:38:46 1.13 +++ http_config.c 1999/07/27 12:05:00 1.14 @@ -496,7 +496,7 @@ { if(m-register_hooks) { - if(ap_exists_config_define(SHOW_HOOKS)) + if(getenv(SHOW_HOOKS)) { printf(Registering hooks for %s\n,m-name); g_bDebugHooks=1; @@ -1435,15 +1435,6 @@ if (m-create_dir_config) ap_set_module_config(s-lookup_defaults, m, (*m-create_dir_config)(p, NULL)); -} - -void ap_pre_command_line_hook(pool *pcommands) -{ -module *m; - -for (m = top_module; m; m = m-next) - if (m-pre_command_line) - (*m-pre_command_line) (pcommands); } void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp) 1.12 +0 -1 apache-2.0/mpm/src/main/http_core.c Index: http_core.c === RCS file: /home/cvs/apache-2.0/mpm/src/main/http_core.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- http_core.c 1999/07/25 14:24:01 1.11 +++ http_core.c 1999/07/27 12:05:00 1.12 @@ -2649,7 +2649,6 @@ API_VAR_EXPORT module core_module = { STANDARD20_MODULE_STUFF, -NULL,/* pre_command_line */ NULL,/* pre_config */ NULL,/* post_config */ core_open_logs, /* open_logs */ 1.5 +0 -15 apache-2.0/mpm/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-2.0/mpm/src/main/http_main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- http_main.c 1999/07/10 13:32:47 1.4 +++ http_main.c 1999/07/27 12:05:00 1.5 @@ -247,9 +247,7 @@ pool *ptemp; /* Pool for temporart config stuff */ pool *pcommands; /* Pool for -C and -c switches */ extern char *optarg; -extern int optind,optreset; - /* TODO: PATHSEPARATOR should be one of the os defines */ #define PATHSEPARATOR '/' if ((s = strrchr(argv[0], PATHSEPARATOR)) != NULL) { @@ -270,21 +268,8 @@ ap_server_post_read_config = ap_make_array(pcommands, 1, sizeof(char *)); ap_server_config_defines =
cvs commit: apache-2.0/mpm/src/modules/mpm/prefork prefork.c
ben 99/07/27 06:31:21 Modified:mpm/src/modules/mpm/prefork prefork.c Log: Fix a warning. Revision ChangesPath 1.20 +1 -1 apache-2.0/mpm/src/modules/mpm/prefork/prefork.c Index: prefork.c === RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/mpm/prefork/prefork.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- prefork.c 1999/07/27 12:05:04 1.19 +++ prefork.c 1999/07/27 13:31:20 1.20 @@ -2872,7 +2872,7 @@ { static int restart_num = 0; -one_process = getenv(ONE_PROCESS); +one_process = !!getenv(ONE_PROCESS); /* sigh, want this only the second time around */ if (restart_num++ == 1) {
cvs commit: apache-1.3/src/main http_main.c
stoddard99/07/27 06:46:07 Modified:src/main http_main.c Log: Win32: Fix problem where Apache would not run if either the executable or the configuration file has spaces in the path. Clean up a couple of handle leaks. Thanks Tim! Obtained from: [EMAIL PROTECTED] Reviewed by: Bill Stoddard Revision ChangesPath 1.462 +5 -5 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.461 retrieving revision 1.462 diff -u -r1.461 -r1.462 --- http_main.c 1999/07/26 09:26:07 1.461 +++ http_main.c 1999/07/27 13:46:05 1.462 @@ -5785,7 +5785,7 @@ return -1; } -pCommand = ap_psprintf(p, %s -Z %s -f %s, buf, exit_event_name, ap_server_confname); +pCommand = ap_psprintf(p, \%s\ -Z %s -f \%s\, buf, exit_event_name, ap_server_confname); for (i = 1; i argc; i++) { pCommand = ap_pstrcat(p, pCommand, , argv[i], NULL); @@ -5807,10 +5807,6 @@ si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; si.wShowWindow = SW_HIDE; si.hStdInput = hPipeRead; -/* -si.hStdOutput = NULL; -si.hStdError = NULL; -*/ if (!CreateProcess(NULL, pCommand, NULL, NULL, TRUE, /* Inherit handles */ @@ -5837,6 +5833,9 @@ events[*processes] = kill_event; (*processes)++; +/* We never store the thread's handle, so close it now. */ +CloseHandle(pi.hThread); + /* Run the chain of open sockets. For each socket, duplicate it * for the target process then send the WSAPROTOCOL_INFO * (returned by dup socket) to the child */ @@ -5866,6 +5865,7 @@ break; } } +CloseHandle(hPipeRead); CloseHandle(hPipeWrite); return 0;
cvs commit: apache-apr/include apr_errno.h apr_general.h
rbb 99/07/27 10:58:42 Modified:apr configure.in apr/misc/unix Makefile.in apr/test Makefile.in include apr_errno.h apr_general.h Added: apr/misc/unix getopt.c apr/test testargs.c Log: Added getopt function to apr. Also added program to test getopt. Tested under Linux, should be tested on other platforms. Submitted by: Jim Jagielski and Ryan Bloom Revision ChangesPath 1.31 +2 -2 apache-apr/apr/configure.in Index: configure.in === RCS file: /home/cvs/apache-apr/apr/configure.in,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- configure.in 1999/07/23 14:41:35 1.30 +++ configure.in 1999/07/27 17:58:27 1.31 @@ -1,6 +1,6 @@ AC_CONFIG_AUX_DIR(./helpers) -OS=`config.guess` -OS=`config.sub $OS` +OS=`./config.guess` +OS=`./config.sub $OS` echo Configuring APR library echo Platform: ${OS} 1.7 +2 -1 apache-apr/apr/misc/unix/Makefile.in Index: Makefile.in === RCS file: /home/cvs/apache-apr/apr/misc/unix/Makefile.in,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile.in 1999/07/23 14:41:41 1.6 +++ Makefile.in 1999/07/27 17:58:31 1.7 @@ -16,7 +16,7 @@ LIB=../libmisc.a -OBJS=start.o +OBJS=start.o getopt.o .c.o: $(CC) $(CFLAGS) -c $(INCLUDES) $ @@ -51,6 +51,7 @@ rm Makefile.new # DO NOT REMOVE +getopt.o: getopt.c start.o: start.c ../../../include/apr_general.h \ $(INCDIR)/apr_config.h ../../../include/apr_errno.h \ $(INCDIR)/apr_pools.h $(INCDIR)/apr_lib.h \ 1.1 apache-apr/apr/misc/unix/getopt.c Index: getopt.c === /* * Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in the *documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *may be used to endorse or promote products derived from this software *without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include stdio.h #include stdlib.h #include string.h #include misc.h int opterr = 1, /* if error message should be printed */ optind = 1, /* index into parent argv vector */ optopt, /* character checked for validity */ optreset;/* reset getopt */ char *optarg;/* argument associated with option */ #define BADCH (int)'?' #define BADARG (int)':' #define EMSG /* * getopt -- * Parse argc/argv argument vector. */ ap_status_t ap_getopt(struct context_t *cont, int nargc, char *const *nargv, const char *ostr, ap_int32_t *rv) { char *p; static char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ if (optreset || !*place) { /* update scanning pointer */ optreset = 0; if (optind = nargc || *(place = nargv[optind]) != '-') {
cvs commit: apache-apr/apr/lib apr_tables.c Makefile.in apr_pools.c
rbb 99/07/27 11:28:00 Modified:apr/lib Makefile.in apr_pools.c Added: apr/lib apr_tables.c Log: Split the array and table functions out from the memory pool functions. This should make it easier to allow for pools vs malloc/free options at configure time. I'll be splitting out more code shortly. :) Revision ChangesPath 1.12 +19 -6 apache-apr/apr/lib/Makefile.in Index: Makefile.in === RCS file: /home/cvs/apache-apr/apr/lib/Makefile.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Makefile.in 1999/07/23 14:41:38 1.11 +++ Makefile.in 1999/07/27 18:27:58 1.12 @@ -24,7 +24,8 @@ apr_pools.o \ apr_signal.o \ apr_slack.o \ - apr_snprintf.o + apr_snprintf.o \ + apr_tables.o .c.o: $(CC) $(CFLAGS) -c $(INCLUDES) $ @@ -62,12 +63,24 @@ apr_cpystrn.o: apr_cpystrn.c $(INCDIR)/apr_config.h apr_execve.o: apr_execve.c $(INCDIR)/apr_config.h apr_fnmatch.o: apr_fnmatch.c $(INCDIR)/apr_config.h \ - $(INCDIR)/apr_fnmatch.h + $(INCDIR)/apr_fnmatch.h $(INCDIR)/apr_lib.h \ + ../../include/apr_general.h ../../include/apr_errno.h \ + $(INCDIR)/hsregex.h apr_md5.o: apr_md5.c $(INCDIR)/apr_config.h $(INCDIR)/apr_md5.h \ - $(INCDIR)/apr_lib.h $(INCDIR)/hsregex.h + $(INCDIR)/apr_lib.h ../../include/apr_general.h \ + ../../include/apr_errno.h $(INCDIR)/hsregex.h apr_pools.o: apr_pools.c $(INCDIR)/apr_config.h \ - $(INCDIR)/apr_pools.h $(INCDIR)/apr_lib.h $(INCDIR)/hsregex.h -apr_signal.o: apr_signal.c $(INCDIR)/apr_config.h + ../../include/apr_general.h ../../include/apr_errno.h \ + $(INCDIR)/apr_pools.h $(INCDIR)/apr_lib.h $(INCDIR)/hsregex.h \ + ../misc/unix/misc.h ../../include/apr_file_io.h +apr_signal.o: apr_signal.c $(INCDIR)/apr_config.h \ + $(INCDIR)/apr_lib.h ../../include/apr_general.h \ + ../../include/apr_errno.h $(INCDIR)/hsregex.h apr_slack.o: apr_slack.c $(INCDIR)/apr_config.h apr_snprintf.o: apr_snprintf.c $(INCDIR)/apr_config.h \ - $(INCDIR)/apr_lib.h $(INCDIR)/hsregex.h + $(INCDIR)/apr_lib.h ../../include/apr_general.h \ + ../../include/apr_errno.h $(INCDIR)/hsregex.h +apr_tables.o: apr_tables.c $(INCDIR)/apr_config.h \ + ../../include/apr_general.h ../../include/apr_errno.h \ + $(INCDIR)/apr_pools.h $(INCDIR)/apr_lib.h $(INCDIR)/hsregex.h \ + ../misc/unix/misc.h ../../include/apr_file_io.h 1.9 +0 -690apache-apr/apr/lib/apr_pools.c Index: apr_pools.c === RCS file: /home/cvs/apache-apr/apr/lib/apr_pools.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- apr_pools.c 1999/07/02 19:09:16 1.8 +++ apr_pools.c 1999/07/27 18:27:59 1.9 @@ -1026,696 +1026,6 @@ /* * - * The 'array' functions... - */ - -static void make_array_core(ap_array_header_t *res, struct context_t *c, - int nelts, int elt_size) -{ -/* - * Assure sanity if someone asks for - * array of zero elts. - */ -if (nelts 1) { - nelts = 1; -} - -res-elts = ap_pcalloc(c, nelts * elt_size); - -res-cont = c; -res-elt_size = elt_size; -res-nelts = 0; /* No active elements yet... */ -res-nalloc = nelts; /* ...but this many allocated */ -} - -API_EXPORT(ap_array_header_t *) ap_make_array(struct context_t *p, - int nelts, int elt_size) -{ -ap_array_header_t *res; - -res = (ap_array_header_t *) ap_palloc(p, sizeof(ap_array_header_t)); -make_array_core(res, p, nelts, elt_size); -return res; -} - -API_EXPORT(void *) ap_push_array(ap_array_header_t *arr) -{ -if (arr-nelts == arr-nalloc) { - int new_size = (arr-nalloc = 0) ? 1 : arr-nalloc * 2; - char *new_data; - - new_data = ap_pcalloc(arr-cont, arr-elt_size * new_size); - - memcpy(new_data, arr-elts, arr-nalloc * arr-elt_size); - arr-elts = new_data; - arr-nalloc = new_size; -} - -++arr-nelts; -return arr-elts + (arr-elt_size * (arr-nelts - 1)); -} - -API_EXPORT(void) ap_array_cat(ap_array_header_t *dst, -const ap_array_header_t *src) -{ -int elt_size = dst-elt_size; - -if (dst-nelts + src-nelts dst-nalloc) { - int new_size = (dst-nalloc = 0) ? 1 : dst-nalloc * 2; - char *new_data; - - while (dst-nelts + src-nelts new_size) { - new_size *= 2; - } - - new_data = ap_pcalloc(dst-cont, elt_size * new_size); - memcpy(new_data, dst-elts, dst-nalloc * elt_size); - - dst-elts = new_data; - dst-nalloc = new_size;
cvs commit: apache-apr/apr/threadproc/unix thread.c threadcancel.c threadpriv.c
rbb 99/07/27 11:46:24 Modified:apr/threadproc/unix thread.c threadcancel.c threadpriv.c Log: Make all thread functions a no-op on platforms without pthreads. Hopefully, someday this will change to a user-land threads library, but this will work for now. I am returning APR_SUCCESS for now, that may change too. Revision ChangesPath 1.12 +77 -0 apache-apr/apr/threadproc/unix/thread.c Index: thread.c === RCS file: /home/cvs/apache-apr/apr/threadproc/unix/thread.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- thread.c 1999/07/06 17:01:41 1.11 +++ thread.c 1999/07/27 18:46:22 1.12 @@ -58,6 +58,7 @@ #include apr_general.h #include apr_portable.h +#ifdef HAVE_PTHREAD_H ap_status_t ap_create_threadattr(ap_context_t *cont, struct threadattr_t **new) { ap_status_t stat; @@ -226,4 +227,80 @@ (*thd)-td = thethd; return APR_SUCCESS; } +#else +/* No pthread.h, no threads for right now.*/ +ap_status_t ap_create_threadattr(ap_context_t *cont, struct threadattr_t **new) +{ +*new = NULL; +return APR_SUCCESS; +} + +ap_status_t ap_setthreadattr_detach(struct threadattr_t *attr, ap_int32_t on) +{ +return APR_SUCCESS; +} + +ap_status_t ap_getthreadattr_detach(struct threadattr_t *attr) +{ +return APR_NOTDETACH; +} + +ap_status_t ap_create_thread(ap_context_t *cont, struct threadattr_t *attr, + ap_thread_start_t func, void *data, + struct thread_t **new) +{ +*new = NULL; +return stat; +} + +ap_status_t ap_thread_exit(ap_thread_t *thd, ap_status_t *retval) +{ +APR_SUCCESS; +} + +ap_status_t ap_thread_join(struct thread_t *thd, ap_status_t *retval) +{ +return APR_SUCCESS; +} + +ap_status_t ap_thread_detach(struct thread_t *thd) +{ +return APR_SUCCESS; +} + +/* ***APRDOC + * ap_status_t ap_get_threaddata(ap_thread_t *, void *) + *Return the context associated with the current thread. + * arg 1) The currently open thread. + * arg 2) The user data associated with the thread. + */ +ap_status_t ap_get_threaddata(struct thread_t *thread, void *data) +{ +data = NULL; +return APR_ENOTHREAD; +} + +/* ***APRDOC + * ap_status_t ap_set_threaddata(ap_thread_t *, void *) + *Return the context associated with the current thread. + * arg 1) The currently open thread. + * arg 2) The user data to associate with the thread. + */ +ap_status_t ap_set_threaddata(struct thread_t *thread, void *data) +{ +return APR_ENOTHREAD; +} + +ap_status_t ap_get_os_thread(struct thread_t *thd, ap_os_thread_t *thethd) +{ +thethd = NULL; +return APR_SUCCESS; +} + +ap_status_t ap_put_os_thread(ap_context_t *cont, struct thread_t **thd, + ap_os_thread_t *thethd) +{ +return APR_SUCCESS; +} +#endif 1.5 +17 -2 apache-apr/apr/threadproc/unix/threadcancel.c Index: threadcancel.c === RCS file: /home/cvs/apache-apr/apr/threadproc/unix/threadcancel.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- threadcancel.c1999/05/25 17:04:03 1.4 +++ threadcancel.c1999/07/27 18:46:23 1.5 @@ -57,7 +57,7 @@ #include apr_thread_proc.h #include apr_general.h - +#ifdef HAVE_PTHREAD_H ap_status_t ap_cancel_thread(struct thread_t *thd) { ap_status_t stat; @@ -68,7 +68,6 @@ return stat; } } - ap_status_t ap_setcanceltype(ap_context_t *cont, ap_int32_t type) { @@ -91,4 +90,20 @@ return stat; } } +#else +ap_status_t ap_cancel_thread(struct thread_t *thd) +{ +return APR_SUCCESS; +} + +ap_status_t ap_setcanceltype(ap_context_t *cont, ap_int32_t type) +{ +return APR_SUCCESS; +} + +ap_status_t ap_setcancelstate(ap_context_t *cont, ap_int32_t type) +{ +return APR_SUCCESS; +} +#endif 1.10 +58 -0 apache-apr/apr/threadproc/unix/threadpriv.c Index: threadpriv.c === RCS file: /home/cvs/apache-apr/apr/threadproc/unix/threadpriv.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- threadpriv.c 1999/07/06 17:01:41 1.9 +++ threadpriv.c 1999/07/27 18:46:23 1.10 @@ -59,6 +59,7 @@ #include apr_errno.h #include apr_portable.h +#ifdef HAVE_PTHREAD_H ap_status_t ap_create_thread_private(ap_context_t *cont, void (*dest)(void *),
cvs commit: apache-1.3 STATUS
coar99/07/27 11:48:54 Modified:.STATUS Log: Proxy issue no longer a showstopper; push release date out by a couple of days due to the recent flurry. Revision ChangesPath 1.725 +9 -8 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.724 retrieving revision 1.725 diff -u -r1.724 -r1.725 --- STATUS1999/07/07 11:05:15 1.724 +++ STATUS1999/07/27 18:48:51 1.725 @@ -1,11 +1,11 @@ 1.3 STATUS: - Last modified at [$Date: 1999/07/07 11:05:15 $] + Last modified at [$Date: 1999/07/27 18:48:51 $] Release: 1.3.7-dev: current. Ken volunteers to be release manager. -Proposed dates: roll on Mon, 26 July 1999, test, and release -on Fri, 30 July 1999. +Proposed dates: roll on Thu, 29 July 1999, test, and release +on Mon, 2 August 1999. 1.3.6. Tagged and rolled on Mar. 22. Released and announced on 24th. 1.3.5: Not released. @@ -67,12 +67,13 @@ RELEASE SHOWSTOPPERS: -- Graham Legget has found that if he uses the 1.3.7-dev core, and - the 1.3.6 proxy code (plus a small patch of his) he doesn't get - the hangs he was reporting. Something is broken in the 1.3.7-dev - proxy. - RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: + +* Graham Legget has found that if he uses the 1.3.7-dev core, and + the 1.3.6 proxy code (plus a small patch of his) he doesn't get + the hangs he was reporting. The situation is better as of + 18 July 1999; still an occasional problem, but no longer a + showstopper. * mod_rewrite/3874: RewriteLock doesn't work for virtual hosts Status: (Ralf): When I find time, I can look at this. But
cvs commit: apache-apr/apr/file_io/unix dir.c fileacc.c fileio.h filestat.c open.c
rbb 99/07/27 12:26:17 Modified:apr/file_io/unix dir.c fileacc.c fileio.h filestat.c open.c Log: Cleanup file I/O code. We no longer do a stat on every open, but when a user calls ap_getfileinfo, we are caching the results of that stat automatically. I am also continuing with the APRDOC effort in the unix tree. Revision ChangesPath 1.17 +12 -0 apache-apr/apr/file_io/unix/dir.c Index: dir.c === RCS file: /home/cvs/apache-apr/apr/file_io/unix/dir.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- dir.c 1999/07/06 17:01:38 1.16 +++ dir.c 1999/07/27 19:26:12 1.17 @@ -280,6 +280,12 @@ return APR_SUCCESS; } +/* ***APRDOC + * ap_status_t ap_get_os_dir(ap_dir_t *, ap_os_dir_t *) + *convert the dir from apr type to os specific type. + * arg 1) The apr dir to convert. + * arg 2) The os specific dir we are converting to + */ ap_status_t ap_get_os_dir(struct dir_t *dir, ap_os_dir_t *thedir) { if (dir == NULL) { @@ -289,6 +295,12 @@ return APR_SUCCESS; } +/* ***APRDOC + * ap_status_t ap_get_os_dir(ap_dir_t *, ap_os_dir_t *) + *convert the dir from os specific type to apr type. + * arg 1) The os specific dir to convert + * arg 2) The apr dir we are converting to. + */ ap_status_t ap_put_os_dir(ap_context_t *cont, struct dir_t **dir, ap_os_dir_t *thedir) { 1.15 +15 -0 apache-apr/apr/file_io/unix/fileacc.c Index: fileacc.c === RCS file: /home/cvs/apache-apr/apr/file_io/unix/fileacc.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- fileacc.c 1999/06/21 18:28:09 1.14 +++ fileacc.c 1999/07/27 19:26:13 1.15 @@ -118,6 +118,9 @@ ap_status_t ap_get_filesize(struct file_t *file, ap_ssize_t *size) { if (file != NULL) { +if (!file-stated) { +ap_getfileinfo(file); +} *size = file-size; return APR_SUCCESS; } @@ -136,6 +139,9 @@ ap_status_t ap_get_fileperms(struct file_t *file, ap_fileperms_t *perm) { if (file != NULL) { +if (!file-stated) { +ap_getfileinfo(file); +} *perm = file-protection; return APR_SUCCESS; } @@ -154,6 +160,9 @@ ap_status_t ap_get_fileatime(struct file_t *file, time_t *time) { if (file != NULL) { +if (!file-stated) { +ap_getfileinfo(file); +} *time = file-atime; return APR_SUCCESS; } @@ -172,6 +181,9 @@ ap_status_t ap_get_filectime(struct file_t *file, time_t *time) { if (file != NULL) { +if (!file-stated) { +ap_getfileinfo(file); +} *time = file-ctime; return APR_SUCCESS; } @@ -190,6 +202,9 @@ ap_status_t ap_get_filemtime(struct file_t *file, time_t *time) { if (file != NULL) { +if (!file-stated) { +ap_getfileinfo(file); +} *time = file-mtime; return APR_SUCCESS; } 1.8 +1 -0 apache-apr/apr/file_io/unix/fileio.h Index: fileio.h === RCS file: /home/cvs/apache-apr/apr/file_io/unix/fileio.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- fileio.h 1999/05/21 19:53:13 1.7 +++ fileio.h 1999/07/27 19:26:13 1.8 @@ -71,6 +71,7 @@ int filedes; char * fname; int buffered; +int stated; mode_t protection; uid_t user; gid_t group; 1.8 +4 -6 apache-apr/apr/file_io/unix/filestat.c Index: filestat.c === RCS file: /home/cvs/apache-apr/apr/file_io/unix/filestat.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- filestat.c1999/06/01 12:05:42 1.7 +++ filestat.c1999/07/27 19:26:13 1.8 @@ -59,12 +59,9 @@ #include apr_errno.h /* ***APRDOC - * ap_status_t ap_remove_file(ap_context_t *, char *) - *delete the specified file. - * arg 1) The context to use. - * arg 2) The full path to the file (using / on all systems) - * NOTE: If the file is open, it won't be removed until all instances are - * closed. + * ap_status_t ap_getfileinfo(ap_file_t *) + *get the specified file's stats.. + * arg 1) The full to get information about. */ ap_status_t ap_getfileinfo(struct file_t
cvs commit: apache-2.0/mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c
ben 99/07/27 14:16:53 Modified:mpm/src/include ap_hooks.h http_config.h mpm/src/main http_config.c http_connection.c http_core.c http_main.c mpm/src/modules/mpm/prefork prefork.c mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c Log: Another hook (I won't be upset if someone else wants to do some!). Revision ChangesPath 1.9 +2 -2 apache-2.0/mpm/src/include/ap_hooks.h Index: ap_hooks.h === RCS file: /export/home/cvs/apache-2.0/mpm/src/include/ap_hooks.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ap_hooks.h1999/07/22 19:17:15 1.8 +++ ap_hooks.h1999/07/27 21:16:36 1.9 @@ -68,8 +68,8 @@ #define IMPLEMENT_HOOK(ret,name,args,args2,run_all,ok,decline) \ IMPLEMENT_HOOK_BASE(ret,ret r_;,r_=,r_,name,args,args2,run_all,r_ != decline,r_ != ok,run_all ? ok : decline) -#define IMPLEMENT_VOID_HOOK(name,args,args2,run_all) \ - IMPLEMENT_HOOK_BASE(voidname,args,args2,run_all,1,0,) +#define IMPLEMENT_VOID_HOOK(name,args,args2) \ + IMPLEMENT_HOOK_BASE(voidname,args,args2,RUN_ALL,1,0,) /* Hook orderings */ #define HOOK_REALLY_FIRST(-10) 1.12 +1 -2 apache-2.0/mpm/src/include/http_config.h Index: http_config.h === RCS file: /export/home/cvs/apache-2.0/mpm/src/include/http_config.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- http_config.h 1999/07/27 12:04:59 1.11 +++ http_config.h 1999/07/27 21:16:36 1.12 @@ -211,7 +211,6 @@ * (see also mod_so). */ -void (*pre_config)(pool *pconf, pool *plog, pool *ptemp); void (*open_logs)(pool *pconf, pool *plog, pool *ptemp, server_rec *); void (*post_config)(pool *pconf, pool *plog, pool *ptemp, server_rec *); void (*child_init)(pool *pchild, server_rec *); @@ -333,7 +332,6 @@ void ap_setup_prelinked_modules(void); void ap_show_directives(void); void ap_show_modules(void); -void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp); server_rec *ap_read_config(pool *conf_pool, pool *temp_pool, const char *config_name); void ap_open_logs_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s); void ap_post_config_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s); @@ -375,6 +373,7 @@ /* Hooks */ DECLARE_HOOK(int,header_parser,(request_rec *)) +DECLARE_HOOK(void,pre_config,(pool *pconf,pool *plog,pool *ptemp)) #endif 1.15 +5 -11 apache-2.0/mpm/src/main/http_config.c Index: http_config.c === RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_config.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- http_config.c 1999/07/27 12:05:00 1.14 +++ http_config.c 1999/07/27 21:16:38 1.15 @@ -83,8 +83,13 @@ HOOK_STRUCT( HOOK_LINK(header_parser) + HOOK_LINK(pre_config) ) +IMPLEMENT_HOOK(int,header_parser,(request_rec *r),(r),RUN_ALL,OK,DECLINED) +IMPLEMENT_VOID_HOOK(pre_config,(pool *pconf,pool *plog,pool *ptemp), + (pconf,plog,ptemp)) + DEF_Explain / @@ -362,8 +367,6 @@ return run_method(r, offsets_into_method_ptrs.access_checker, 1); } -IMPLEMENT_HOOK(int,header_parser,(request_rec *r),(r),RUN_ALL,OK,DECLINED) - /* Auth stuff --- anything that defines one of these will presumably * want to define something for the other. Note that check_auth is * separate from check_access to make catching some config errors easier. @@ -1435,15 +1438,6 @@ if (m-create_dir_config) ap_set_module_config(s-lookup_defaults, m, (*m-create_dir_config)(p, NULL)); -} - -void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp) -{ -module *m; - -for (m = top_module; m; m = m-next) - if (m-pre_config) - (*m-pre_config) (pconf, plog, ptemp); } void ap_post_config_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s) 1.13 +1 -1 apache-2.0/mpm/src/main/http_connection.c Index: http_connection.c === RCS file:
cvs commit: apache-2.0/mpm/src/modules/mpm/winnt - New directory
stoddard99/07/27 15:12:52 apache-2.0/mpm/src/modules/mpm/winnt - New directory