Re: cvs commit: apache-1.3/src/support httpd.exp
+API_EXPORT(void) ap_table_merge_unique_token(table *t, const char *key, +const char *val); +API_EXPORT(void) ap_table_mergen_unique_token(table *t, const char *key, + const char *val); Well, n functions were made because i could not change semantics of existing old ones. There is no need to clutter api with dual variants of new functions. -Dima
Re: cvs commit: apache-1.3/src/support httpd.exp
Good stuff. And a usefull extra function in the API as well. Dw On 28 Jul 1999 [EMAIL PROTECTED] wrote: coar99/07/28 10:37:22 Modified:.STATUS src CHANGES src/include alloc.h src/main alloc.c src/modules/standard mod_headers.c mod_negotiation.c mod_rewrite.c src/support httpd.exp Log: Treat the Vary response header field specially; change the modules that touch it to use a new routine that only adds a token if it isn't already present. O(n^2) behaviour as Dean points out, but absent set/atom operations it seems a reasonable stopgap for 1.3.7. PR: 4118 (previously closed with 'use force-no-vary') Reviewed by:Ken Coar Revision ChangesPath 1.727 +1 -8 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.726 retrieving revision 1.727 diff -u -r1.726 -r1.727 --- STATUS 1999/07/28 14:06:20 1.726 +++ STATUS 1999/07/28 17:37:05 1.727 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/07/28 14:06:20 $] + Last modified at [$Date: 1999/07/28 17:37:05 $] Release: @@ -67,13 +67,6 @@ RELEASE SHOWSTOPPERS: -* The Vary header field stuff is still broken (multiple - entries occur, etc.). The result is that some browsers (AFAIK at least - MSIE) are horribly confused by the responses. - Status: It should be fixed before 1.3.7 went out. For details - how it should be done, please look at new-httpd mailing list - archive: Ken, Ralf and Roy have already found consensus in the - past there. RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: 1.1400+7 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1399 retrieving revision 1.1400 diff -u -r1.1399 -r1.1400 --- CHANGES 1999/07/24 18:48:20 1.1399 +++ CHANGES 1999/07/28 17:37:09 1.1400 @@ -1,5 +1,12 @@ Changes with Apache 1.3.7 + *) Sanitise Vary values by not adding duplicate keywords. A + separate routine needs to be used to do this, so any module + that frobs Vary needs to be changed. The standard modules + have all been modified. This solution is somewhat inelegant, + but it does the job for now. PR#4118 (better fix than before) + [Ken Coar, Roy Fielding] + *) Link DSO's with gcc -shared instead of ld -Bshareable at least on Linux and FreeBSD for now. [Rasmus Lerdorf] 1.69 +4 -0 apache-1.3/src/include/alloc.h Index: alloc.h === RCS file: /home/cvs/apache-1.3/src/include/alloc.h,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- alloc.h 1999/05/13 19:44:14 1.68 +++ alloc.h 1999/07/28 17:37:14 1.69 @@ -225,6 +225,10 @@ API_EXPORT(const char *) ap_table_get(const table *, const char *); API_EXPORT(void) ap_table_set(table *, const char *name, const char *val); API_EXPORT(void) ap_table_setn(table *, const char *name, const char *val); +API_EXPORT(void) ap_table_merge_unique_token(table *t, const char *key, +const char *val); +API_EXPORT(void) ap_table_mergen_unique_token(table *t, const char *key, + const char *val); API_EXPORT(void) ap_table_merge(table *, const char *name, const char *more_val); API_EXPORT(void) ap_table_mergen(table *, const char *name, const char *more_val); API_EXPORT(void) ap_table_unset(table *, const char *key); 1.114 +26 -0 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- alloc.c 1999/05/25 15:32:54 1.113 +++ alloc.c 1999/07/28 17:37:16 1.114 @@ -1346,6 +1346,32 @@ } } +/* + * Merge an HTTP token into a table entry IFF it isn't already in there. + * (Intended primarily to avoid Vary: host, host.) + */ +API_EXPORT(void) ap_table_merge_unique_token(table *t, const char *key, +const char *val) +{ +const char *curval; + +curval = ap_table_get(t, key); +if ((curval == NULL) || (!ap_find_token(t-a.pool, curval, val))) { +
cvs commit: apache-1.3 STATUS
dgaudet 99/07/29 10:55:57 Modified:.STATUS Log: I don't see how this is a show stopper, sorry. This is a client bug, and we already have force-no-vary as a method to work around those clients. Revision ChangesPath 1.729 +4 -4 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.728 retrieving revision 1.729 diff -u -r1.728 -r1.729 --- STATUS1999/07/29 17:53:36 1.728 +++ STATUS1999/07/29 17:55:54 1.729 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 1999/07/29 17:53:36 $] + Last modified at [$Date: 1999/07/29 17:55:54 $] Release: @@ -64,6 +64,8 @@ mips-dec-ultrix4.4no Sameer Parekh mips-unknown-linuxyes Lars Eilebrecht +RELEASE SHOWSTOPPERS: + * The Vary header field stuff is still broken (multiple entries occur, etc.). The result is that some browsers (AFAIK at least MSIE) are horribly confused by the responses. @@ -72,7 +74,7 @@ archive: Ken, Ralf and Roy have already found consensus in the past there. -RELEASE SHOWSTOPPERS: +RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: * The Vary header field stuff is still broken (multiple entries occur, etc.). The result is that some browsers (AFAIK at least @@ -81,8 +83,6 @@ how it should be done, please look at new-httpd mailing list archive: Ken, Ralf and Roy have already found consensus in the past there. - -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
cvs commit: apache-1.3/src/main buff.c http_main.c util.c
randy 99/07/29 11:13:58 Modified:.config.layout src CHANGES src/include httpd.h src/main buff.c http_main.c util.c Log: BeOS portability changes. Submitted by: David Reid [EMAIL PROTECTED] Reviewed by: Randy Terbush Revision ChangesPath 1.10 +21 -0 apache-1.3/config.layout Index: config.layout === RCS file: /home/cvs/apache-1.3/config.layout,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- config.layout 1999/06/27 04:42:40 1.9 +++ config.layout 1999/07/29 18:12:43 1.10 @@ -129,3 +129,24 @@ logfiledir:$localstatedir/logs proxycachedir: $localstatedir/proxy /Layout + +# BeOS layout... +Layout beos +prefix:/boot/home/apache +exec_prefix: $prefix +bindir:$exec_prefix/bin +sbindir: $exec_prefix/bin +libexecdir:$exec_prefix/libexec +mandir:$prefix/man +sysconfdir:$prefix/conf +datadir: $prefix +iconsdir: $datadir/icons +htdocsdir: $datadir/htdocs +cgidir:$datadir/cgi-bin +includedir:$prefix/include +localstatedir: $prefix +runtimedir:$localstatedir/logs +logfiledir:$localstatedir/logs +proxycachedir: $localstatedir/proxy +/Layout + 1.1402+9 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1401 retrieving revision 1.1402 diff -u -r1.1401 -r1.1402 --- CHANGES 1999/07/29 17:53:45 1.1401 +++ CHANGES 1999/07/29 18:13:10 1.1402 @@ -1,5 +1,14 @@ Changes with Apache 1.3.7 + *) Portability changes for BeOS. [David Reid [EMAIL PROTECTED] + + *) Sanitise Vary values by not adding duplicate keywords. A + separate routine needs to be used to do this, so any module + that frobs Vary needs to be changed. The standard modules + have all been modified. This solution is somewhat inelegant, + but it does the job for now. PR#4118 (better fix than before) + [Ken Coar, Roy Fielding] + *) Link DSO's with gcc -shared instead of ld -Bshareable at least on Linux and FreeBSD for now. [Rasmus Lerdorf] 1.286 +2 -0 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.285 retrieving revision 1.286 diff -u -r1.285 -r1.286 --- httpd.h 1999/07/19 09:48:24 1.285 +++ httpd.h 1999/07/29 18:13:30 1.286 @@ -85,6 +85,8 @@ #elif defined(WIN32) /* Set default for Windows file system */ #define HTTPD_ROOT /apache +#elif defined(BEOS) +#define HTTPD_ROOT /boot/home/apache #else #define HTTPD_ROOT /usr/local/apache #endif 1.88 +22 -1 apache-1.3/src/main/buff.c Index: buff.c === RCS file: /home/cvs/apache-1.3/src/main/buff.c,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- buff.c1999/04/27 20:36:30 1.87 +++ buff.c1999/07/29 18:13:40 1.88 @@ -259,6 +259,11 @@ } else rv = ap_read(fb, buf, nbyte); +#elif defined (BEOS) +if (fb-flags B_SOCKET) { +rv = recv(fb-fd_in, buf, nbyte, 0); +} else +rv = ap_read(fb,buf,nbyte); #elif defined(TPF) fd_set fds; struct timeval tv; @@ -315,6 +320,11 @@ } else rv = ap_write(fb, buf, nbyte); +#elif defined(BEOS) +if(fb-flags B_SOCKET) { +rv = send(fb-fd, buf, nbyte, 0); +} else +rv = ap_write(fb, buf,nbyte); #else rv = ap_write(fb, buf, nbyte); #endif /* WIN32 */ @@ -681,6 +691,7 @@ return rv; } + /* * Read up to nbyte bytes into buf. * If fewer than byte bytes are currently available, then return those. @@ -1436,6 +1447,16 @@ rc3 = 0; } else { +#elif defined(BEOS) +if (fb-flags B_SOCKET) { + rc2 = ap_pclosesocket(fb-pool, fb-fd); + if (fb-fd_in != fb-fd) { + rc3 = ap_pclosesocket(fb-pool, fb-fd_in); + } + else { + rc3 = 0; + } +} else { #endif rc2 = ap_pclosef(fb-pool, fb-fd); if (fb-fd_in != fb-fd) { @@ -1444,7 +1465,7 @@ else { rc3 = 0; } -#ifdef WIN32 +#if defined(WIN32) || defined (BEOS) } #endif 1.465 +25 -0 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file:
cvs commit: apache-1.3/htdocs/manual/mod core.html
randy 99/07/29 11:17:48 Modified:htdocs/manual/mod core.html Log: Doc changes. Submitted by: Alan J. Flavell [EMAIL PROTECTED] Reviewed by: Randy Terbush Revision ChangesPath 1.154 +30 -25apache-1.3/htdocs/manual/mod/core.html Index: core.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/mod/core.html,v retrieving revision 1.153 retrieving revision 1.154 diff -u -r1.153 -r1.154 --- core.html 1999/06/24 16:38:33 1.153 +++ core.html 1999/07/29 18:17:43 1.154 @@ -1321,24 +1321,28 @@ REL=Help STRONGStatus:/STRONG/A coreP -lt;Limitgt; and lt;/Limitgt; are used to enclose a group of -access control directives which will then apply only to the specified -access methods, where EMmethod/EM is any valid HTTP method. -Any directive except another lt;Limitgt; or -A HREF=#directorylt;Directorygt;/A may be used; the majority will be -unaffected by the lt;Limitgt;. Example: +Access controls are normally effective for STRONGall/STRONG access +methods, and this is the usual desired behaviour. STRONGIn the +general case, access control directives should not be placed within a +CODElt;limitgt;/CODE section./STRONG + +PThe purpose of the lt;Limitgt; directive is to restrict the effect +of the access controls to the nominated HTTP methods. For all other +methods, the access restrictions that are enclosed in the +lt;Limitgt; bracket STRONGwill have no effect/STRONG. The +following example applies the access control only to the methods POST, +PUT, and DELETE, leaving all other methods unprotected: + BLOCKQUOTECODE -lt;Limit GET POSTgt;BR +lt;Limit POST PUT DELETEgt;BR require valid-userBR lt;/Limitgt;/CODE/BLOCKQUOTE -If an access control directive appears outside a lt;Limitgt; -directive, then it applies to all access methods. The method names -listed can be one or more of: GET, POST, PUT, DELETE, CONNECT or -OPTIONS. STRONGThe method name is case-sensitive./STRONG -If GET is used it will also restrict HEAD requests. -STRONGIf you wish to limit all methods, do not include any -lt;Limitgt; directive at all./STRONG +The method names listed can be one or more of: GET, POST, PUT, DELETE, +CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, +MOVE, LOCK, and UNLOCK. STRONGThe method name is +case-sensitive./STRONG If GET is used it will also restrict HEAD +requests. PHR @@ -2371,24 +2375,25 @@ All valid users can access the directory. /UL P -If CODErequire/CODE appears in a A HREF=#limitlt;Limitgt;/A -section, then it restricts access to the named methods, otherwise -it restricts access for all methods. Example: +Require must be accompanied by A HREF=#authnameAuthName/A and +A HREF=#authtypeAuthType/A directives, and directives such as +A HREF=mod_auth.html#authuserfileAuthUserFile/A and +A HREF=mod_auth.html#authgroupfileAuthGroupFile/A (to define users and +groups) in order to work correctly. Example: BLOCKQUOTECODE AuthType BasicBR -AuthName somedomainBR +AuthName Restricted DirectoryBR AuthUserFile /web/usersBR AuthGroupFile /web/groupsBR -lt;Limit GET POSTgt;BR require group adminBR -lt;/Limitgt; /CODE/BLOCKQUOTE -Require must be accompanied by A HREF=#authnameAuthName/A and -A HREF=#authtypeAuthType/A directives, and directives such as -A HREF=mod_auth.html#authuserfileAuthUserFile/A and -A HREF=mod_auth.html#authgroupfileAuthGroupFile/A (to define users and -groups) in order to work correctly.PHR +Access controls which are applied in this way are effective for +STRONGall/STRONG methods. STRONGThis is what is normally +desired./STRONG If you wish to apply access controls only to +specific methods, while leaving other methods unprotected, then place +the CODErequire/CODE statement into a A +HREF=#limitlt;Limitgt;/A sectionPHR H2A NAME=resourceconfigResourceConfig directive/A/H2 !--%plaintext lt;?INDEX {\tt ResourceConfig} directivegt; --
cvs commit: apache-apr/apr/network_io/unix poll.c sendrecv.c sockets.c
rbb 99/07/29 12:23:31 Modified:apr/file_io/unix dir.c pipe.c apr/network_io/unix poll.c sendrecv.c sockets.c Log: More docs changes. Revision ChangesPath 1.18 +1 -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.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- dir.c 1999/07/27 19:26:12 1.17 +++ dir.c 1999/07/29 19:23:14 1.18 @@ -73,6 +73,7 @@ return errno; } } + /* ***APRDOC * ap_status_t ap_opendir(ap_context_t *, char *, ap_dir_t **) *Open the specified directory. 1.13 +3 -3 apache-apr/apr/file_io/unix/pipe.c Index: pipe.c === RCS file: /home/cvs/apache-apr/apr/file_io/unix/pipe.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- pipe.c1999/07/28 18:10:58 1.12 +++ pipe.c1999/07/29 19:23:16 1.13 @@ -65,7 +65,7 @@ /* ***APRDOC * ap_status_t ap_create_pipe(ap_context_t *, ap_file_t **, ap_file_t **) - *Create an anonymous pipt. + *Create an anonymous pipe. * arg 1) The context to operate on. * arg 2) The file descriptor to use as input to the pipe. * arg 3) The file descriptor to use as output from the pipe. @@ -94,9 +94,9 @@ /* ***APRDOC * ap_status_t ap_create_namedpipe(ap_context_t *, char *, ap_fileperms_t, * char **) - *Create a named pipt. + *Create a named pipe. * arg 1) The context to operate on. - * arg 2) The The directory to create the pipe in. + * arg 2) The directory to create the pipe in. * arg 3) The permissions for the newly created pipe. * arg 4) The name of the new pipe. */ 1.15 +43 -1 apache-apr/apr/network_io/unix/poll.c Index: poll.c === RCS file: /home/cvs/apache-apr/apr/network_io/unix/poll.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- poll.c1999/06/22 16:57:30 1.14 +++ poll.c1999/07/29 19:23:25 1.15 @@ -62,6 +62,13 @@ #ifdef HAVE_POLL/* We can just use poll to do our socket polling. */ +/* ***APRDOC + * ap_status_t ap_setup_poll(ap_context_t *, ap_int32_t, ap_pollfd_t **) + *Setup the memory required for poll to operate properly. + * arg 1) The context to operate on. + * arg 2) The number of socket descriptors to be polled. + * arg 3) The poll structure to be used. + */ ap_status_t ap_setup_poll(ap_context_t *cont, ap_int32_t num, struct pollfd_t **new) { (*new) = (struct pollfd_t *)ap_palloc(cont, sizeof(struct pollfd_t) * num); @@ -113,6 +120,16 @@ return rv; } +/* ***APRDOC + * ap_status_t ap_add_poll_socket(ap_pollfd_t *, ap_socket_t *, ap_int16_t) + *Add a socket to the poll structure. + * arg 1) The poll structure we will be using. + * arg 2) The socket to add to the current poll structure. + * arg 3) The events to look for when we do the poll. One of: + *APR_POLLIN-- signal if read will not block + *APR_POLLPRI -- signal if prioirty data is availble to be read + *APR_POLLOUT -- signal if write will not block + */ ap_status_t ap_add_poll_socket(struct pollfd_t *aprset, struct socket_t *sock, ap_int16_t event) { @@ -130,6 +147,18 @@ return APR_SUCCESS; } +/* ***APRDOC + * ap_status_t ap_poll(ap_pollfd_t *, ap_int32_t *, ap_int32_t) + *Poll the sockets in the poll structure. This is a blocking call, + *and it will not return until either a socket has been signalled, or + *the timeout has expired. + * arg 1) The poll structure we will be using. + * arg 2) The number of sockets we are polling. + * arg 3) The amount of time in seconds to wait. This is a maximum, not + *a minimum. If a socket is signalled, we will wake up before this + *time. A negative number means wait until a socket is signalled. + * NOTE: The number of sockets signalled is returned in the second argument. + */ ap_status_t ap_poll(struct pollfd_t *aprset, ap_int32_t *nsds, ap_int32_t timeout) { int i; @@ -161,6 +190,20 @@ return APR_SUCCESS; } +/* ***APRDOC
cvs commit: apache-2.0/mpm/src/modules/mpm/mpmt_pthread mpmt_pthread.c
manoj 99/07/29 13:06:20 Modified:mpm/src/modules/mpm/dexter dexter.c mpm/src/modules/mpm/mpmt_pthread mpmt_pthread.c Log: Use Ben Hyde's warning fix on two other MPMs. Revision ChangesPath 1.11 +1 -1 apache-2.0/mpm/src/modules/mpm/dexter/dexter.c Index: dexter.c === RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/dexter/dexter.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -u -r1.10 -r1.11 --- dexter.c 1999/07/27 23:54:16 1.10 +++ dexter.c 1999/07/29 20:06:19 1.11 @@ -1447,7 +1447,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) { 1.16 +1 -1 apache-2.0/mpm/src/modules/mpm/mpmt_pthread/mpmt_pthread.c Index: mpmt_pthread.c === RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/mpmt_pthread/mpmt_pthread.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -u -r1.15 -r1.16 --- mpmt_pthread.c1999/07/28 22:35:42 1.15 +++ mpmt_pthread.c1999/07/29 20:06:20 1.16 @@ -1508,7 +1508,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-apr/pthreads/src/main http_main.c
manoj 99/07/29 13:11:43 Modified:pthreads/src/include httpd.h pthreads/src/main http_main.c Log: Support non-threaded operation, for the most part. The code still references pthread calls, but they are essentially no-ops in the non-threaded case; these can be #defined or wrapped away. Revision ChangesPath 1.19 +9 -0 apache-apr/pthreads/src/include/httpd.h Index: httpd.h === RCS file: /home/cvs/apache-apr/pthreads/src/include/httpd.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -u -r1.18 -r1.19 --- httpd.h 1999/06/29 00:18:03 1.18 +++ httpd.h 1999/07/29 20:11:41 1.19 @@ -306,6 +306,9 @@ * enough that we can read the whole thing without worrying too much about * the overhead. */ +#ifdef NO_THREADS +#define HARD_SERVER_LIMIT 256 +#endif #ifndef HARD_SERVER_LIMIT #define HARD_SERVER_LIMIT 8 #endif @@ -317,6 +320,9 @@ * enough that we can read the whole thing without worrying too much about * the overhead. */ +#ifdef NO_THREADS +#define HARD_THREAD_LIMIT 1 +#endif #ifndef HARD_THREAD_LIMIT #define HARD_THREAD_LIMIT 64 #endif @@ -366,6 +372,9 @@ #define DEFAULT_MAX_REQUESTS_PER_CHILD 1 #endif +#ifdef NO_THREADS +#define DEFAULT_THREADS_PER_CHILD 1 +#endif #ifndef DEFAULT_THREADS_PER_CHILD #define DEFAULT_THREADS_PER_CHILD 50 #endif 1.96 +6 -0 apache-apr/pthreads/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-apr/pthreads/src/main/http_main.c,v retrieving revision 1.95 retrieving revision 1.96 diff -u -d -u -r1.95 -r1.96 --- http_main.c 1999/07/19 03:51:55 1.95 +++ http_main.c 1999/07/29 20:11:42 1.96 @@ -1884,6 +1884,7 @@ /* We are creating threads right now */ (void) ap_update_child_status(my_child_num, i, SERVER_STARTING, (request_rec *) NULL); +#ifndef NO_THREADS if (pthread_create(thread, thread_attr, worker_thread, my_info)) { ap_log_error(APLOG_MARK, APLOG_ALERT, server_conf, pthread_create: unable to create worker thread); @@ -1893,6 +1894,11 @@ sleep(10); clean_child_exit(APEXIT_CHILDFATAL); } +#else + worker_thread(my_info); + /* The SIGTERM shouldn't let us reach this point, but just in case... */ + clean_child_exit(APEXIT_OK); +#endif /* We let each thread update it's own scoreboard entry. This is done * because it let's us deal with tid better.
cvs commit: apache-2.0/mpm/src/modules/mpm/mpmt_pthread mpm_default.h mpmt_pthread.c
manoj 99/07/29 13:43:31 Modified:mpm/src/modules/mpm/mpmt_pthread mpm_default.h mpmt_pthread.c Log: Support non-threaded operation, for the most part. The code still references pthread calls, but they are essentially no-ops in the non-threaded case; these can be #defined or wrapped away. Revision ChangesPath 1.3 +9 -0 apache-2.0/mpm/src/modules/mpm/mpmt_pthread/mpm_default.h Index: mpm_default.h === RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/mpmt_pthread/mpm_default.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -u -r1.2 -r1.3 --- mpm_default.h 1999/07/19 05:17:49 1.2 +++ mpm_default.h 1999/07/29 20:43:28 1.3 @@ -90,6 +90,9 @@ * enough that we can read the whole thing without worrying too much about * the overhead. */ +#ifdef NO_THREADS +#define HARD_SERVER_LIMIT 256 +#endif #ifndef HARD_SERVER_LIMIT #define HARD_SERVER_LIMIT 8 #endif @@ -101,10 +104,16 @@ * enough that we can read the whole thing without worrying too much about * the overhead. */ +#ifdef NO_THREADS +#define HARD_THREAD_LIMIT 1 +#endif #ifndef HARD_THREAD_LIMIT #define HARD_THREAD_LIMIT 64 #endif +#ifdef NO_THREADS +#define DEFAULT_THREADS_PER_CHILD 1 +#endif #ifndef DEFAULT_THREADS_PER_CHILD #define DEFAULT_THREADS_PER_CHILD 50 #endif 1.17 +6 -2 apache-2.0/mpm/src/modules/mpm/mpmt_pthread/mpmt_pthread.c Index: mpmt_pthread.c === RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/mpmt_pthread/mpmt_pthread.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -u -r1.16 -r1.17 --- mpmt_pthread.c1999/07/29 20:06:20 1.16 +++ mpmt_pthread.c1999/07/29 20:43:28 1.17 @@ -1052,6 +1052,7 @@ /* We are creating threads right now */ (void) ap_update_child_status(my_child_num, i, SERVER_STARTING, (request_rec *) NULL); +#ifndef NO_THREADS if (pthread_create(thread, thread_attr, worker_thread, my_info)) { ap_log_error(APLOG_MARK, APLOG_ALERT, server_conf, pthread_create: unable to create worker thread); @@ -1061,6 +1062,11 @@ sleep(10); clean_child_exit(APEXIT_CHILDFATAL); } +#else + worker_thread(my_info); + /* The SIGTERM shouldn't let us reach this point, but just in case... */ + clean_child_exit(APEXIT_OK); +#endif /* We let each thread update it's own scoreboard entry. This is done * because it let's us deal with tid better. @@ -1125,9 +1131,7 @@ RAISE_SIGSTOP(MAKE_CHILD); - /* XXX - For an unthreaded server, a signal handler will be necessary signal(SIGTERM, just_die); - */ child_main(slot); return 0;
cvs commit: apache-1.3/src .gdbinit
coar99/07/29 15:28:56 Modified:src .gdbinit Log: Oops; add a newline to avoid nastygrams. Revision ChangesPath 1.4 +1 -1 apache-1.3/src/.gdbinit Index: .gdbinit === RCS file: /home/cvs/apache-1.3/src/.gdbinit,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- .gdbinit 1999/07/29 22:21:50 1.3 +++ .gdbinit 1999/07/29 22:28:52 1.4 @@ -25,4 +25,4 @@ end document dump_string_array Print all of the elements in an array of strings. -end \ No newline at end of file +end
cvs commit: apache-1.3/src/os/win32 registry.c
coar99/07/29 15:36:20 Modified:src/include httpd.h src/os/win32 registry.c Log: Updating version for 1.3.7 tarball.. Revision ChangesPath 1.287 +2 -2 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.286 retrieving revision 1.287 diff -u -r1.286 -r1.287 --- httpd.h 1999/07/29 18:13:30 1.286 +++ httpd.h 1999/07/29 22:36:00 1.287 @@ -419,7 +419,7 @@ * Example: Apache/1.1.0 MrWidget/0.1-alpha */ -#define SERVER_BASEVERSION Apache/1.3.7-dev/* SEE COMMENTS ABOVE */ +#define SERVER_BASEVERSION Apache/1.3.7/* SEE COMMENTS ABOVE */ #define SERVER_VERSION SERVER_BASEVERSION enum server_token_type { SrvTk_MIN, /* eg: Apache/1.3.0 */ @@ -435,7 +435,7 @@ * Always increases along the same track as the source branch. * For example, Apache 1.4.2 would be '10402100', 2.5b7 would be '2057'. */ -#define APACHE_RELEASE 10307000 +#define APACHE_RELEASE 10307100 #define SERVER_PROTOCOL HTTP/1.1 #ifndef SERVER_SUPPORT 1.21 +1 -1 apache-1.3/src/os/win32/registry.c Index: registry.c === RCS file: /export/home/cvs/apache-1.3/src/os/win32/registry.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- registry.c1999/04/08 21:04:46 1.20 +++ registry.c1999/07/29 22:36:17 1.21 @@ -38,7 +38,7 @@ #define VENDOR Apache Group #define SOFTWARE Apache -#define VERSION 1.3.7 dev +#define VERSION 1.3.7 #define REGKEY SOFTWARE\\ VENDOR \\ SOFTWARE \\ VERSION
cvs commit: apache-1.3/src/os/win32 registry.c
coar99/07/29 15:58:36 Modified:src CHANGES Configure src/include httpd.h src/os/win32 registry.c Log: Apache 1.3.7 rolled, 1.3.8-dev now the development version. Revision ChangesPath 1.1404+2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1403 retrieving revision 1.1404 diff -u -r1.1403 -r1.1404 --- CHANGES 1999/07/29 22:21:50 1.1403 +++ CHANGES 1999/07/29 22:58:09 1.1404 @@ -1,3 +1,5 @@ +Changes with Apache 1.3.8 + Changes with Apache 1.3.7 *) The Vary response header field is now sanitised right before 1.364 +1 -1 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.363 retrieving revision 1.364 diff -u -r1.363 -r1.364 --- Configure 1999/07/24 18:48:21 1.363 +++ Configure 1999/07/29 22:58:10 1.364 @@ -1687,7 +1687,7 @@ #select the special subtarget for shared core generation SUBTARGET=target_shared #determine additional suffixes for libhttpd.so - V=1 R=3 P=7 + V=1 R=3 P=8 if [ x$SHLIB_SUFFIX_DEPTH = x0 ]; then SHLIB_SUFFIX_LIST= fi 1.288 +2 -2 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.287 retrieving revision 1.288 diff -u -r1.287 -r1.288 --- httpd.h 1999/07/29 22:36:00 1.287 +++ httpd.h 1999/07/29 22:58:23 1.288 @@ -419,7 +419,7 @@ * Example: Apache/1.1.0 MrWidget/0.1-alpha */ -#define SERVER_BASEVERSION Apache/1.3.7/* SEE COMMENTS ABOVE */ +#define SERVER_BASEVERSION Apache/1.3.8-dev/* SEE COMMENTS ABOVE */ #define SERVER_VERSION SERVER_BASEVERSION enum server_token_type { SrvTk_MIN, /* eg: Apache/1.3.0 */ @@ -435,7 +435,7 @@ * Always increases along the same track as the source branch. * For example, Apache 1.4.2 would be '10402100', 2.5b7 would be '2057'. */ -#define APACHE_RELEASE 10307100 +#define APACHE_RELEASE 10308000 #define SERVER_PROTOCOL HTTP/1.1 #ifndef SERVER_SUPPORT 1.22 +1 -1 apache-1.3/src/os/win32/registry.c Index: registry.c === RCS file: /export/home/cvs/apache-1.3/src/os/win32/registry.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- registry.c1999/07/29 22:36:17 1.21 +++ registry.c1999/07/29 22:58:30 1.22 @@ -38,7 +38,7 @@ #define VENDOR Apache Group #define SOFTWARE Apache -#define VERSION 1.3.7 +#define VERSION 1.3.8 dev #define REGKEY SOFTWARE\\ VENDOR \\ SOFTWARE \\ VERSION