cvs commit: apache-1.3/htdocs/manual/mod mod_auth.html
dirkx 99/08/04 15:03:07 Modified:htdocs/manual/mod mod_auth.html Log: Attempt to close pr 4808 Can you mention htpassword in the mod_auth documentation. PR: 4808 Revision ChangesPath 1.17 +13 -0 apache-1.3/htdocs/manual/mod/mod_auth.html Index: mod_auth.html === RCS file: /x3/home/cvs/apache-1.3/htdocs/manual/mod/mod_auth.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- mod_auth.html 1998/09/12 11:26:02 1.16 +++ mod_auth.html 1999/08/04 22:03:04 1.17 @@ -103,6 +103,19 @@ Each line of the user file file contains a username followed by a colon, followed by the crypt() encrypted password. The behavior of multiple occurrences of the same user is undefined. + +The utility htpasswd which is installed as part of the +binary distribution, or which can be found in src/support, +is used to maintain this password file. See the man +page for more details. In short + + + htpasswd -c Filename username + Create a password file 'Filename' with 'username' + as the initial ID. It will prompt for the password. + htpasswd Filename username2 + Adds or modifies in password file 'Filename' the 'username'. + Note that searching large text files is very inefficient; AuthDBMUserFile should be
cvs commit: apache-2.0/mpm/src/main http_core.c
manoj 99/08/04 14:47:21 Modified:mpm/src/main http_core.c Log: Get rid of some already done TODOs. Revision ChangesPath 1.16 +0 -13 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.15 retrieving revision 1.16 diff -u -d -u -r1.15 -r1.16 --- http_core.c 1999/08/01 14:43:23 1.15 +++ http_core.c 1999/08/04 21:47:20 1.16 @@ -2279,8 +2279,6 @@ { "HostnameLookups", set_hostname_lookups, NULL, ACCESS_CONF|RSRC_CONF, TAKE1, "\"on\" to enable, \"off\" to disable reverse DNS lookups, or \"double\" to " "enable double-reverse DNS lookups" }, -/* TODO: User in MPM */ -/* TODO: Group in MPM */ { "ServerAdmin", set_server_string_slot, (void *)XtOffsetOf (server_rec, server_admin), RSRC_CONF, TAKE1, "The email address of the server administrator" }, @@ -2294,9 +2292,6 @@ { "ErrorLog", set_server_string_slot, (void *)XtOffsetOf (server_rec, error_fname), RSRC_CONF, TAKE1, "The filename of the error log" }, -/* TODO: PidFile in MPM */ -/* TODO: ScoreBoardFile in MPM */ -/* TODO: LockFile in MPM */ { "AccessConfig", set_server_string_slot, (void *)XtOffsetOf (server_rec, access_confname), RSRC_CONF, TAKE1, "The filename of the access config file" }, @@ -2322,23 +2317,15 @@ OR_OPTIONS, FLAG, "Whether or not to always use the canonical ServerName : Port when " "constructing URLs" }, -/* TODO: StartServers in MPM */ -/* TODO: MinSpareServers in MPM */ -/* TODO: MaxSpareServers in MPM */ /* TODOC: MaxServers is deprecated */ /* TODOC: ServersSafetyLimit is deprecated */ -/* TODO: MaxClients in MPM */ -/* TODO: MaxRequestsPerChild in MPM */ /* TODO: RlimitFoo should all be part of mod_cgi, not in the core */ /* TODOC: BindAddress deprecated */ -/* TODO: Listen in MPM */ { "AddModule", add_module_command, NULL, RSRC_CONF, ITERATE, "The name of a module" }, { "ClearModuleList", clear_module_list_command, NULL, RSRC_CONF, NO_ARGS, NULL }, -/* TODO: ThreadsPerChild in MPM */ /* TODO: ListenBacklog in MPM */ -/* TODO: CoreDumpDirectory belongs in MPM */ { "Include", include_config, NULL, (RSRC_CONF | ACCESS_CONF), TAKE1, "Name of the config file to be included" }, { "LogLevel", set_loglevel, NULL, RSRC_CONF, TAKE1,
cvs commit: apache-apr/include apr_signal.h
rbb 99/08/04 12:42:37 Added: apr apr.dsw apr/test testsig.dsp testthread.dsp include apr_signal.h Log: Adding in all those files I forgot to add for the windows stuff somehow. It's amazing all the missing files you can find when you get a new computer. :) Revision ChangesPath 1.1 apache-apr/apr/apr.dsw Index: apr.dsw === Microsoft Developer Studio Workspace File, Format Version 5.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ### Project: "file_io"=".\file_io\win32\file_io.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name lib End Project Dependency }}} ### Project: "lib"=".\lib\lib.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ### Project: "locks"=".\locks\win32\locks.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name lib End Project Dependency Begin Project Dependency Project_Dep_Name misc End Project Dependency }}} ### Project: "misc"=".\misc\win32\misc.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name lib End Project Dependency Begin Project Dependency Project_Dep_Name signal End Project Dependency }}} ### Project: "network_io"=".\network_io\win32\network_io.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name file_io End Project Dependency Begin Project Dependency Project_Dep_Name lib End Project Dependency }}} ### Project: "signal"=".\signal\win32\signal.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name lib End Project Dependency }}} ### Project: "threadproc"=".\threadproc\win32\threadproc.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name lib End Project Dependency }}} ### Project: "time"=".\time\win32\time.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name lib End Project Dependency }}} ### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ### 1.1 apache-apr/apr/test/testsig.dsp Index: testsig.dsp === # Microsoft Developer Studio Project File - Name="testsig" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 5.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=testsig - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "testsig.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "testsig.mak" CFG="testsig - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "testsig - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "testsig - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "testsig - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O
cvs commit: apache-1.3/htdocs/manual/misc FAQ-D.html
coar99/08/04 11:10:41 Modified:htdocs/manual/misc FAQ-D.html Log: Oops. Forgot the that I wasn't supposed to forget.. Revision ChangesPath 1.3 +2 -1 apache-1.3/htdocs/manual/misc/FAQ-D.html Index: FAQ-D.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/FAQ-D.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- FAQ-D.html1999/08/04 17:43:46 1.2 +++ FAQ-D.html1999/08/04 18:10:40 1.3 @@ -31,7 +31,7 @@ Apache Server Frequently Asked Questions - $Revision: 1.2 $ ($Date: 1999/08/04 17:43:46 $) + $Revision: 1.3 $ ($Date: 1999/08/04 18:10:40 $) The latest version of this FAQ is always available from the main @@ -356,6 +356,7 @@ add one if you don't already have one. Then try to start the server again. +
cvs commit: apache-apr/include apr_file_io.h
rbb 99/08/04 10:52:22 Modified:apr/file_io/unix fileio.h open.c readwrite.c apr/include apr_config.h.in apr_lib.h apr_win.h apr/lib Makefile.in apr_md5.c apr_snprintf.c apr/test Makefile.in include apr_file_io.h Added: apr/lib apr_getpass.c apr/test htdigest.c Log: All the changes required to get htdigest working with APR on Unix. Next step, NT. :) Revision ChangesPath 1.9 +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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- fileio.h 1999/07/27 19:26:13 1.8 +++ fileio.h 1999/08/04 17:51:53 1.9 @@ -72,6 +72,7 @@ char * fname; int buffered; int stated; +int eof_hit; mode_t protection; uid_t user; gid_t group; 1.33 +25 -1 apache-apr/apr/file_io/unix/open.c Index: open.c === RCS file: /home/cvs/apache-apr/apr/file_io/unix/open.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- open.c1999/07/28 18:10:57 1.32 +++ open.c1999/08/04 17:51:54 1.33 @@ -92,6 +92,8 @@ * APR_EXCL return error if APR_CREATE and file exists * arg 4) Access permissions for file. * arg 5) The opened file descriptor. + * NOTE: If mode is -1, the system open command will be called without any + *mode parameters. */ ap_status_t ap_open(ap_context_t *cont, char *fname, ap_int32_t flag, ap_fileperms_t perm, struct file_t **new) { @@ -140,13 +142,20 @@ oflags |= O_TRUNC; } - (*new)->filedes = open(fname, oflags, mode); +if (mode == -1) { +(*new)->filedes = open(fname, oflags); +} +else { +(*new)->filedes = open(fname, oflags, mode); +} if ((*new)->filedes < 0) { (*new)->filedes = -1; + (*new)->eof_hit = 1; return errno; } (*new)->stated = 0; /* we haven't called stat for this file yet. */ +(*new)->eof_hit = 0; ap_register_cleanup((*new)->cntxt, (void *)(*new), file_cleanup, NULL); return APR_SUCCESS; } @@ -220,4 +229,19 @@ (*file)->filedes = *thefile; return APR_SUCCESS; } + +/* ***APRDOC + * ap_status_t ap_eof(ap_file_t *) + *Are we at the end of the file + * arg 1) The apr file we are testing. + * NOTE: Returns APR_EOF if we are at the end of file, APR_SUCCESS otherwise. + */ +ap_status_t ap_eof(ap_file_t *fptr) +{ +char ch; +if (fptr->eof_hit == 1) { +return APR_EOF; +} +APR_SUCCESS; +} 1.14 +74 -1 apache-apr/apr/file_io/unix/readwrite.c Index: readwrite.c === RCS file: /home/cvs/apache-apr/apr/file_io/unix/readwrite.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- readwrite.c 1999/07/28 18:10:58 1.13 +++ readwrite.c 1999/08/04 17:51:54 1.14 @@ -73,7 +73,7 @@ * the available data is read. The third argument is modified to reflect the * number of bytes read. */ -ap_status_t ap_read(const struct file_t *thefile, void *buf, ap_ssize_t *nbytes) +ap_status_t ap_read(struct file_t *thefile, void *buf, ap_ssize_t *nbytes) { ap_ssize_t rv; @@ -84,6 +84,9 @@ rv = read(thefile->filedes, buf, *nbytes); +if ((*nbytes != rv) && (errno != EINTR)) { +thefile->eof_hit = 1; +} *nbytes = rv; return APR_SUCCESS; } @@ -148,4 +151,74 @@ } } #endif + +/* ***APRDOC + * ap_status_t ap_putc(ap_file_t *, char) + *put a character into the specified file. + * arg 1) The file descriptor to write to + * arg 2) The character to write. + */ +ap_status_t ap_putc(ap_file_t *thefile, char ch) +{ +if (write(thefile->filedes, &ch, 1) != 1) { +return errno; +} +return APR_SUCCESS; +} + +/* ***APRDOC + * ap_status_t ap_getc(ap_file_t *, char *) + *put a character into the specified file. + * arg 1) The file descriptor to write to + * arg 2) The character to write. + */ +ap_status_t ap_getc(ap_file_t *thefile, char *ch) +{ +ssize_t rv = read(thefile->filedes, ch, 1); +if (rv == 0) { +thefile->eof_hit = TRUE; +return APR_EOF; +} +else if (rv != 1) { +return errno; +}
cvs commit: apache-1.3/htdocs/manual/misc FAQ-D.html
coar99/08/04 10:43:50 Modified:htdocs/manual/misc FAQ-D.html Log: Boy is this one turning into a FAQ.. PR: Too numerous to mention. Revision ChangesPath 1.2 +35 -1 apache-1.3/htdocs/manual/misc/FAQ-D.html Index: FAQ-D.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/FAQ-D.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- FAQ-D.html1999/06/24 15:02:51 1.1 +++ FAQ-D.html1999/08/04 17:43:46 1.2 @@ -31,7 +31,7 @@ Apache Server Frequently Asked Questions - $Revision: 1.1 $ ($Date: 1999/06/24 15:02:51 $) + $Revision: 1.2 $ ($Date: 1999/08/04 17:43:46 $) The latest version of this FAQ is always available from the main @@ -97,6 +97,11 @@ than 1.2.0 and suddenly I have problems with Apache dying randomly or not restarting properly + When I try to start Apache from a DOS +window, I get a message like "Cannot determine host name. + Use ServerName directive to set it manually." What does + this mean? + @@ -324,6 +329,35 @@ + + + When I try to start Apache from a DOS + window, I get a message like "Cannot determine host name. + Use ServerName directive to set it manually." What does + this mean? + + + It means what it says; the Apache software can't determine the + hostname of your system. Edit your conf\httpd.conf + file, look for the string "ServerName", and make sure there's an + uncommented directive such as + + + ServerName localhost + + + or + + + ServerName www.foo.com + + + in the file. Correct it if there one there with wrong information, or + add one if you don't already have one. Then try to start the server + again. + + +
cvs commit: apache-site in_the_news.html
brian 99/08/04 03:53:20 Modified:.in_the_news.html Log: I thought this was humorous. Revision ChangesPath 1.48 +13 -0 apache-site/in_the_news.html Index: in_the_news.html === RCS file: /home/cvs/apache-site/in_the_news.html,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- in_the_news.html 1999/03/07 14:31:16 1.47 +++ in_the_news.html 1999/08/04 10:53:20 1.48 @@ -33,6 +33,19 @@ + Dr. Dobbs Journal, September 1999: + "http://www.ddj.com/articles/1999/9909/9909o/9909o.htm";> + The Negotiator" + + + "The Apache Group earned the right to lead the way in + server-side Java by proving to Sun and the rest of the world that + volunteer programmers working together can deliver high-quality code + on predetermined schedules." + + + + PC Magazine, March 23, 1999 Issue: "http://www.zdnet.com/pcmag/features/opensource/390830.html";> Apache Rules The Web"
cvs commit: apache-site/mirrors mirrors.list index.html
brian 99/08/04 00:12:07 Modified:mirrors mirrors.list index.html Log: Austria, Hungary, Indonesia, Iceland, Portugal, Thailand, South Africa Revision ChangesPath 1.81 +19 -3 apache-site/mirrors/mirrors.list Index: mirrors.list === RCS file: /home/cvs/apache-site/mirrors/mirrors.list,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- mirrors.list 1999/07/05 22:51:42 1.80 +++ mirrors.list 1999/08/04 07:12:06 1.81 @@ -1,5 +1,6 @@ http ar http://www.infoap.com.ar/apache/[EMAIL PROTECTED] http at http://gd.tuwien.ac.at/infosys/servers/http/apache/ [EMAIL PROTECTED] +http at http://idefix.mountpoint.net/apache [EMAIL PROTECTED] http au http://mirror.aarnet.edu.au/apache/ [EMAIL PROTECTED] http au http://www.syd.dit.csiro.au/tools/apache/ [EMAIL PROTECTED] http au http://ftp.it.net.au/apache/[EMAIL PROTECTED] @@ -38,22 +39,28 @@ http fi http://apache.zopps.fi/ [EMAIL PROTECTED] http fi http://apache.raketti.net/ [EMAIL PROTECTED] http fr http://www.cge-ol.fr/apache/[EMAIL PROTECTED] +http fr http://cafe.fiifo.u-psud.fr/apache/ [EMAIL PROTECTED] +http fr http://apache.linuxfr.org/ [EMAIL PROTECTED] http gr http://www.ntua.gr/apache/ [EMAIL PROTECTED] http hk http://hk-mirror.www.ai.net/pub/apache/ [EMAIL PROTECTED] http hr http://sunsite.srce.hr/mirrors/ftp.apache.org/apache/ [EMAIL PROTECTED] +http hr http://apache.mezon.net/[EMAIL PROTECTED] http hu http://xenia.sote.hu/ftp/linux/mirrors/www.apache.org/ [EMAIL PROTECTED] http hu http://apache.iit.uni-miskolc.hu/ [EMAIL PROTECTED] +http id http://apache.access.net.id/[EMAIL PROTECTED] http ie http://apache.csn.ul.ie [EMAIL PROTECTED] http il http://vipe.technion.ac.il/apache/ [EMAIL PROTECTED] http il http://download.netvision.net.il/apache/[EMAIL PROTECTED] http il http://www.ibm.net.il/apache/ [EMAIL PROTECTED] http il http://bioinformatics.weizmann.ac.il/software/apache/ [EMAIL PROTECTED] http in http://apache.indoglobal.com/ [EMAIL PROTECTED] +http is http://www.mmedia.is/apache/[EMAIL PROTECTED] http it http://mathema.it/pub/apache/ [EMAIL PROTECTED] http it http://www.itb.it/apache/ [EMAIL PROTECTED] http it http://apache.sindata.it/ [EMAIL PROTECTED] http it http://apache.unich.it/ [EMAIL PROTECTED] http it http://apache.phenixnet.it/ [EMAIL PROTECTED] +http it http://apache.systemy.it/ http jp http://ring.aist.go.jp/archives/net/apache/ [EMAIL PROTECTED] http jp http://ring.asahi-net.or.jp/archives/net/apache/[EMAIL PROTECTED] http jp http://www.happysize.co.jp/apache/ [EMAIL PROTECTED] @@ -72,6 +79,7 @@ http nl http://apache.infra.cx/ [EMAIL PROTECTED] http no http://archive.bitcon.no/apache/[EMAIL PROTECTED] http no http://www.powertech.no/apache/ [EMAIL PROTECTED] +http no http://download.telia.no/apache/[EMAIL PROTECTED] http pl http://sunsite.icm.edu.pl/pub/www/apache/ [EMAIL PROTECTED] http pl http://www.task.gda.pl/pub/www/apache/ [EMAIL PROTECTED] http pt http://ftp.dei.uc.pt/apache/[EMAIL PROTECTED] @@ -79,6 +87,7 @@ http pt http://ciumix.ci.uminho.pt/mirrors/apache/ [EMAIL PROTECTED] http pt http://apache.ultimate.pt [EMAIL PROTECTED] http pt http://apache.leirianet.pt [EMAIL PROTECTED] +http pt http://ftp.di.fct.unl.pt/apache/[EMAIL PROTECTED] http ro http://www.utt.ro/ftp/pub/packages/apache/ [EMAIL PROTECTED] http ro http://apache.logicnet.ro/ [EMAIL PROTECTED] http ru http://www.module.vympel.msk.ru/mirror/apache/ [EMAIL PROTECTED] @@ -89,7 +98,7 @@ http ru http://www.apache.gamma.ru/ [EMAIL PROTECTED] http se http://apache.dc.luth.se/ [EMAIL PROTECTED] http se http://apache.archive.sunet.se/ [EMAIL PROTECTED] -http se http://swamp.ios.chalmers.se/apache/[EMAIL PROTECTED] +http se http://swamp.chl.chalmers.se/apache/[EMAIL PROTECTED] http sg http://apache.hjc.edu.sg/ [EMAIL PROTECTED] http si http://apache.siol.net/ http sk http://sunsite.uakom.sk/apache/ [EMAIL PROTECTED] @@ -97,6 +106,7 @@ http sk http://apache.ti.sk/[EMAIL PROTECTED] http su http://www.sai.msu.su/apache/ oleg@sai.msu.su http th http://www.cs.riubon.ac.th/pub/apache/ [EMAIL PROTECTED] +http th http://sriwichai.siamu.ac.th/mirrors/apache/[EMAIL PROTECTED] http tr http://apache.bilkent.edu.
cvs commit: apache-2.0/mpm/src/modules/mpm/mpmt_pthread mpmt_pthread.c
manoj 99/08/03 17:21:37 Modified:mpm/src/modules/mpm/dexter dexter.c mpm/src/modules/mpm/mpmt_pthread mpmt_pthread.c Log: Undo the stupid pipe of death changes I made earlier today. dean noted that we need an char_of_death array to do this safely, and it's just not worth the effort. The EINTR stuff is left behind, though. Hopefully this is now decent again. Revision ChangesPath 1.17 +5 -10 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.16 retrieving revision 1.17 diff -u -d -u -r1.16 -r1.17 --- dexter.c 1999/08/03 23:43:02 1.16 +++ dexter.c 1999/08/04 00:21:32 1.17 @@ -1404,7 +1404,7 @@ } if (is_graceful) { - int i, bytes_to_write; + int i; char char_of_death = '!'; ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, server_conf, @@ -1420,17 +1420,12 @@ } } /* give the children the signal to die */ -/* XXX - This while loop logic should be made into a utility function */ -bytes_to_write = num_daemons; -while (bytes_to_write > 0) { -i = write(pipe_of_death[1], &char_of_death, bytes_to_write); -if (i == -1) { +for (i = 0; i < num_daemons;) { +if (write(pipe_of_death[1], &char_of_death, 1) == -1) { if (errno == EINTR) continue; -ap_log_error(APLOG_MARK, APLOG_ERR, server_conf, - "write pipe_of_death"); -break; +ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf, "write pipe_of_death"); } -bytes_to_write -= i; +i++; } } else { 1.22 +6 -13 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.21 retrieving revision 1.22 diff -u -d -u -r1.21 -r1.22 --- mpmt_pthread.c1999/08/03 23:36:43 1.21 +++ mpmt_pthread.c1999/08/04 00:21:35 1.22 @@ -1463,26 +1463,19 @@ update_scoreboard_global(); if (is_graceful) { - int i, j, bytes_to_write; + int i, j; char char_of_death = '!'; ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, server_conf, "SIGWINCH received. Doing graceful restart"); -/* give the children the signal to die. Sending more bytes than - * children is okay, because the pipe is recreated for every - * generation */ -/* XXX - This while loop logic should be made into a utility function */ -bytes_to_write = ap_daemons_limit; -while (bytes_to_write > 0) { -i = write(pipe_of_death[1], &char_of_death, bytes_to_write); -if (i == -1) { + /* give the children the signal to die */ +for (i = 0; i < ap_daemons_limit;) { +if (write(pipe_of_death[1], &char_of_death, 1) == -1) { if (errno == EINTR) continue; -ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf, - "write pipe_of_death"); -break; +ap_log_error(APLOG_MARK, APLOG_WARNING, server_conf, "write pipe_of_death"); } -bytes_to_write -= i; +i++; } /* This is mostly for debugging... so that we know what is still