Perl tests and server start
I noticed yesterday that three servers are started even if the tests requested don't need 'em. That is, a server is started for mod_headers and mod_vhost_alias even if I ask for only a single test sequence that doesn't include those. I'm not sure how to do anything about that.. -- #kenP-)} Ken Coar, Sanagendamgagwedweinini http://Golux.Com/coar/ Author, developer, opinionist http://Apache-Server.Com/ All right everyone! Step away from the glowing hamburger!
mod_random_chunk
Hi, If you remove the #define HTTPD_TEST_REQUIRE_APACHE 2 from mod_random_chunk.c then it compiles and runs successfully but does not pass the tests. It seems that it is not sending any headers: should it be? | $ t/TEST --start-httpd | ... blah blah blah ... | $ telnet localhost 8529 | Trying 127.0.0.1... | Connected to localhost.localdomain. | Escape character is '^]'. | GET /random_chunk?0,100 HTTP/1.1 | Host: localhost | | fd | 10101010101010101010MMM0101010101010?01010107III10101010101C@@0101010101010101310101010101010101011044LL10__END__:242 | Connection closed by foreign host. Cheers, Gary [ [EMAIL PROTECTED] ][ GnuPG 85A8F78B ][ http://inauspicious.org/ ]
Expectations in apache/404.t
H'm. In trying to figure out why apache/404.t was failing test 1 against Apache 1.3, I discovered that it is apparently checking for the HTTP response line: my $four_oh_four = GET_STR /404/not/found/test; ok ($four_oh_four =~ /HTTP\/1\.[01] Not Found/); Well, GET_STR's result in this case doesn't include the response line, but an analysis of it instead: RC: 404 (Not Found) Message: Not Found Where is GET_STR defined, and why does this test pass on some combinations of versions and fail on others? I assume because GET_STR's return semantics have changed.. Anyone see any reason not to change this test to ok (($four_oh_four =~ /HTTP\/1\.[01] Not Found/) || ($four_oh_four =~ /RC:\s+404.*Message:\s+Not Found/s)); ? -- #kenP-)} Ken Coar, Sanagendamgagwedweinini http://Golux.Com/coar/ Author, developer, opinionist http://Apache-Server.Com/ All right everyone! Step away from the glowing hamburger!
example of a t/SKIP file?
in Re: Winnow? Doug M said: - create a t/SKIP file with passing tests setenvif.t access.t etc.t could someone give me a short example of this SKIP file
Re: cvs commit: httpd-test/perl-framework/t/apache 404.t
On Mon, Oct 22, 2001 at 05:16:09PM -, [EMAIL PROTECTED] wrote: + -ok ($four_oh_four =~ /HTTP\/1\.[01] 404 Not Found/); + +ok (($four_oh_four =~ /HTTP\/1\.[01] Not Found/) + +|| ($four_oh_four =~ /RC:\s+404.*Message:\s+Not Found/s)); +ok ($four_oh_four =~ /Content-Type: text\/html/); why did you take the '404' out of /HTTP\/1\.[01] 404 Not Found/? now it fails for me. did you mean to do that? -j
Re: cvs commit: httpd-test/perl-framework/t/apache 404.t
john sachs wrote: why did you take the '404' out of /HTTP\/1\.[01] 404 Not Found/? now it fails for me. did you mean to do that? Uh, nope. I still don't quite see why GET_STR is returning different values, nor under what circumstances.. Fixing it now. -- #kenP-)} Ken Coar, Sanagendamgagwedweinini http://Golux.Com/coar/ Author, developer, opinionist http://Apache-Server.Com/ All right everyone! Step away from the glowing hamburger!
Re: New proxy hook
Daniel Lopez wrote: I want a chance to modify the headers going to the origin server, which are not exactly the incoming headers. If you take a look at the source code for mod_proxy it adds additional headers like X-Forwarded-For , X-Forwarded-Host, X-Forwarded-Server in the content handling phase that I may want to modify, replace or unset. In this case a ProxyAddOutputFilter directive could be used to add the mod_headers filter, this will do this for you. This way we use existing filters, and not add new proxy specific ones. This same behaviour is useful in mod_jk, mod_webapp, and mod_cgi, amongst others. While the idea is the same (passing request information to an external program) in these cases you are modifying the incoming headers, because there is no additional external HTTP request. In the case of both mod_jk and mod_webapp, there is an HTTP-like request to a Java servlet server. Both modules are very similar in function to proxy. Regards, Graham -- - [EMAIL PROTECTED]There's a moon over Bourbon Street tonight... S/MIME Cryptographic Signature
Re: [patch] fix for rfc1413.c
Dick Streefland [EMAIL PROTECTED] writes: I noticed that the IdentityCheck feature didn't work with yesterdays snapshot (httpd-2.0_20011019161216.tar.gz), although the same setup works with apache-1.3.9. The returned userid is always nobody. Looking at the code shows that the first port number sent to identd is always 113, which looks very strange. With the patch attached below, IdentityCheck works again for me. committed... Thanks! -- Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site: http://www.geocities.com/SiliconValley/Park/9289/ Born in Roswell... married an alien...
Re: cvs commit: httpd-2.0/server core.c
From: Greg Stein [EMAIL PROTECTED] Sent: Monday, October 22, 2001 8:53 AM On Mon, Oct 22, 2001 at 04:36:46AM -, [EMAIL PROTECTED] wrote: wrowe 01/10/21 21:36:46 Modified:server core.c Log: Fix two typos in the last patch... compiles/tests clean... Greg, please run this against Apache.org until the first core and post the results. Can we stop putting non-code commentary in the CVS logs? Three years from now, that comment is going to be senseless... Well put, and agreed :) If you want to comment on something, then wait for the commit message to hit the mailer, then respond to it, to this mailing list, with your commentary. Good thought.
Re: New proxy hook
mod_proxy it adds additional headers like X-Forwarded-For , X-Forwarded-Host, X-Forwarded-Server in the content handling phase that I may want to modify, replace or unset. In this case a ProxyAddOutputFilter directive could be used to add the mod_headers filter, this will do this for you. Yes, in fact that was the first approach I tried. Tut that would require modification of how the reverse proxy code works (which I would avoid if possible). You would need to create and associate a request with that filter chain and modify the proxy code that sends the output headers to work that way (something similar to what it does with incoming requests on the proxy side). Since I am just modifying headers, that is why I proposed this header fixup hook. While the idea is the same (passing request information to an external program) in these cases you are modifying the incoming headers, because there is no additional external HTTP request. In the case of both mod_jk and mod_webapp, there is an HTTP-like request to a Java servlet server. Both modules are very similar in function to proxy. This is just what I said :) In fact, I do not undersand why mod_jk or mod_webapp had to invent yet another little protocol and are not implemented as a reverse proxy, like BEA weblogic connector does. Best regards Daniel
www.apache.org/server-status
This looks seriously hosed... There are clearly more than 89 requests being handled Current Time: Monday, 22-Oct-2001 10:26:59 PDT Restart Time: Monday, 22-Oct-2001 08:20:27 PDT Parent Server Generation: 2 Server uptime: 2 hours 6 minutes 32 seconds Total accesses: 411687 - Total Traffic: 16.9 GB CPU Usage: u361.164 s597.625 cu626.703 cs184.898 - 23.3% CPU load 54.2 requests/sec - 2.3 MB/second - 43.1 kB/request 89 requests currently being processed, 11 idle workers W_W.KKWWCW_WWW_WC_WWW_WWWCWWW.WKCKWWW.KW KKKW_KWW_WKWKWW_WKWWW_KWWKW_WWCWW_WCWKWK WWKWWKWWWK_WWW.WWW_WWWKWWW_WWKKWKWGWWWK__WWW_KWK _WW_KWWCWKWW_WKWC_W_WWWKWKRKW_KCWWWKWW_WGW_W KWWKWWWCWWRKW_WWKW_WGWK_W_WKW_WWW___ WK_WWW_WWKWWWKWW_WWK_GWWKW._WK_WWR_WW_WWKKWWKCWW KW_WWW_K_WWWKWWKW_W_WKKK__K_WWCWWCWWKCWKWWWKWKWKWW__ K.W.WW...W._ W...
[PATCH] apr_proc_wait
This patch implements my idea for a new API to apr_proc_wait and apr_proc_all_wait. This includes the changes to Apache as well as the changes to APR. The basic concept is that we return the reason for exiting and the exit code. If the child was sent a signal and died because of that, the exit code is the signal that the process received. The other part of this, is that APR now has macros that determine if the process has generated a core dump. If we want to add more macros to this, we can easily extend it. This patch also removes all instances of the W* macros from Apache. I took the basic idea from Jeff Trawick's patches. Ryan Index: include/mpm_common.h === RCS file: /home/cvs/httpd-2.0/include/mpm_common.h,v retrieving revision 1.28 diff -u -d -b -w -u -r1.28 mpm_common.h --- include/mpm_common.h2001/08/14 12:30:49 1.28 +++ include/mpm_common.h2001/10/22 17:56:16 @@ -125,7 +125,8 @@ * @param p The pool to allocate out of */ #ifdef AP_MPM_WANT_WAIT_OR_TIMEOUT -void ap_wait_or_timeout(apr_wait_t *status, apr_proc_t *ret, apr_pool_t *p); +void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret, +apr_pool_t *p); #endif /** @@ -135,7 +136,7 @@ * @param status The status returned from ap_wait_or_timeout */ #ifdef AP_MPM_WANT_PROCESS_CHILD_STATUS -void ap_process_child_status(apr_proc_t *pid, apr_wait_t status); +void ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status); #endif #if defined(TCP_NODELAY) !defined(MPE) !defined(TPF) Index: server/mpm_common.c === RCS file: /home/cvs/httpd-2.0/server/mpm_common.c,v retrieving revision 1.69 diff -u -d -b -w -u -r1.69 mpm_common.c --- server/mpm_common.c 2001/09/21 14:29:33 1.69 +++ server/mpm_common.c 2001/10/22 17:56:16 @@ -124,7 +124,7 @@ continue; proc.pid = pid; -waitret = apr_proc_wait(proc, NULL, APR_NOWAIT); +waitret = apr_proc_wait(proc, NULL, NULL, APR_NOWAIT); if (waitret != APR_CHILD_NOTDONE) { MPM_NOTE_CHILD_KILLED(i); continue; @@ -196,7 +196,8 @@ #endif static int wait_or_timeout_counter; -void ap_wait_or_timeout(apr_wait_t *status, apr_proc_t *ret, apr_pool_t *p) +void ap_wait_or_timeout(apr_exit_why_e *status, int *exitcode, apr_proc_t *ret, +apr_pool_t *p) { apr_status_t rv; @@ -204,7 +205,7 @@ if (wait_or_timeout_counter == INTERVAL_OF_WRITABLE_PROBES) { wait_or_timeout_counter = 0; } -rv = apr_proc_wait_all_procs(ret, status, APR_NOWAIT, p); +rv = apr_proc_wait_all_procs(ret, exitcode, status, APR_NOWAIT, p); if (APR_STATUS_IS_EINTR(rv)) { ret-pid = -1; return; @@ -213,7 +214,7 @@ return; } #ifdef NEED_WAITPID -if ((ret = reap_children(status)) 0) { +if ((ret = reap_children(exitcode, status)) 0) { return; } #endif @@ -224,16 +225,16 @@ #endif /* AP_MPM_WANT_WAIT_OR_TIMEOUT */ #ifdef AP_MPM_WANT_PROCESS_CHILD_STATUS -void ap_process_child_status(apr_proc_t *pid, apr_wait_t status) +void ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status) { -int signum = WTERMSIG(status); +int signum = status; const char *sigdesc = apr_signal_get_description(signum); /* Child died... if it died due to a fatal error, * we should simply bail out. */ -if ((WIFEXITED(status)) -WEXITSTATUS(status) == APEXIT_CHILDFATAL) { +if ((APR_PROC_CHECK_EXIT(why)) +(status == APEXIT_CHILDFATAL)) { ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, 0, ap_server_conf, Child %ld returned a Fatal error... APR_EOL_STR Apache is exiting!, @@ -241,7 +242,7 @@ exit(APEXIT_CHILDFATAL); } -if (WIFSIGNALED(status)) { +if (APR_PROC_CHECK_SIGNALED(why)) { switch (signum) { case SIGTERM: case SIGHUP: @@ -249,8 +250,7 @@ case SIGKILL: break; default: -#ifdef WCOREDUMP -if (WCOREDUMP(status)) { +if (APR_PROC_CHECK_CORE_DUMP(why)) { ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, 0, ap_server_conf, child pid %ld exit signal %s (%d), @@ -258,9 +258,7 @@ (long)pid-pid, sigdesc, signum, ap_coredump_dir); } -else -#endif -{ +else { ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, 0, ap_server_conf, child pid %ld exit signal %s (%d), Index: server/mpm/beos/beos.c
Re: New proxy hook
Daniel Lopez at [EMAIL PROTECTED] wrote: Second, tighter integration. On WARP, for example, we're able to pass things like configuration informations, so, using a directive in httpd.conf, you can actually deploy web-applications on the servlet container without having to tweak your configurations in two places. Apache could pass this information in an HTTP request, no need for a special protocol. And dinamically reconfigure your apache web server from an HTTP request? I don't really see how... Like, if I know that /examples/*.jsp is something that need to be processed by a Servlet, and /examples/*.html is a static file, which is actually available to the web server in some path (let's say /usr/webapps/examples/*.html) how can I tell to my running web server to forward certain paths to the proxy_module and certain others to the defalt file serving thinghie? (BTW, I'm talking about not only AP20, but also 13, and other web servers, such as iPlanet and IIS). Third is parsing. I mean, you guys spent ages optimizing and making sure that your HTTP stack is 100% compliant and fast-as-hell (don't tell me that I can parse HTTP headers faster in Java than in C! :), and the WARP protocol is optimized for that, it is designed so that the Java side of things doesn't have to parse stuff at all, all the HTTP protocol parsing is done by Apache, and doesn't need to be reparsed in Java, since all data is passed along on the socket with all its parsing information (packets and string lengths, we don't have to iterate thru char arrays in Java at all, just construct strings when those are required). Um... maybe :) I would like to see some numbers on how slow parsing the headers is in comparison with the time it takes to process the request or deal with the warp protocol Approximately 1/3...1/4 of the time, and objects allocation is approximately 2/3s (with the current code, and the WARP protocol stack is not optimized) Fourth is load balancing done how it should be to be compliant with the server spec (sessions generated by a certain tomcat engine are guaranteed to return to that specific engine, integration with mod_ssl session, yadayadayada)... This can be done with an HTTP reverse proxy. BEA does load balancing , failover, sticky sessions, etc. Kewl... And fifth is the possibility to include the JVM directly into the Apache process (multithreaded, 1.3 on Win32 and 2.0 everywhere), via JNI... Without even thinking about opening sockets :) I see the value of warp for hiding the underlying transmission protocol, but in the case of embedding the JVM directly it may be worth to do it on its own. And then how can you load balance a JNI based servlet engine with a remote/networked one? Is it enough??? :) :) :) No :) I think a lot of the stuff you are trying to do is very useful but they could be implemented using HTTP as the transport and as enhancements of the reverse proxy. This allows you to take advantange of many other things (like SSL for free, etc.) My point is that if it is good enough for weblogic and IBM (they have an HTTP based protocol for Websphere 4.0) it may be good enough for us :) Not good enough for me :) Also, I would like to see a full httpd.conf configured to serve a web-application, if it is more than one line per web application, you get my +1 on continuing on mod_webapp :) Pier
Re: www.apache.org/server-status
Bill Stoddard wrote: This looks seriously hosed... There are clearly more than 89 requests being handled Current Time: Monday, 22-Oct-2001 10:26:59 PDT Restart Time: Monday, 22-Oct-2001 08:20:27 PDT Parent Server Generation: 2 Server uptime: 2 hours 6 minutes 32 seconds Total accesses: 411687 - Total Traffic: 16.9 GB CPU Usage: u361.164 s597.625 cu626.703 cs184.898 - 23.3% CPU load 54.2 requests/sec - 2.3 MB/second - 43.1 kB/request 89 requests currently being processed, 11 idle workers W_W.KKWWCW_WWW_WC_WWW_WWWCWWW.WKCKWWW.KW KKKW_KWW_WKWKWW_WKWWW_KWWKW_WWCWW_WCWKWK WWKWWKWWWK_WWW.WWW_WWWKWWW_WWKKWKWGWWWK__WWW_KWK _WW_KWWCWKWW_WKWC_W_WWWKWKRKW_KCWWWKWW_WGW_W KWWKWWWCWWRKW_WWKW_WGWK_W_WKW_WWW___ WK_WWW_WWKWWWKWW_WWK_GWWKW._WK_WWR_WW_WWKKWWKCWW KW_WWW_K_WWWKWWKW_W_WKKK__K_WWCWWCWWKCWKWWWKWKWKWW__ K.W.WW...W._ W... For sure. It took me a long time to figure out that we were hitting MaxClients earlier, because that number was so low. To save people from counting, there are 64 state characters per line in the status display above. I come up with 443 processes that aren't idle ('_') or dead ('.'). Perhaps we ought to provide a grand total of live workers, so an admin can easily tell if there's a MaxClients problem, or whatever we end up calling it. Then we could display subtotals by state along with the Scoreboard Key. We could save some room by not displaying unused states. I've never seen some of those states. There are some other bogusities in the status displays: child generation number is 1 more often than it should be, negative numbers in the SS column, Req column is always 0, and the Conn column looks dubious. Greg
Re: New proxy hook
Apache could pass this information in an HTTP request, no need for a special protocol. And dinamically reconfigure your apache web server from an HTTP request? I don't really see how... Like, if I know that /examples/*.jsp is something that need to be processed by a Servlet, and /examples/*.html is a static file, which is actually available to the web server in some path (let's say /usr/webapps/examples/*.html) how can I tell to my running web server to forward certain paths to the proxy_module and certain others to the defalt file serving thinghie? You can do this with mod_rewrite for example. If the config syntax is too difficult you can always create your own commands. What I am advocating is that you do not need to create your own protocol, you can always layer your functionality on top of proxy, since what you are doing is basically transferring HTTP request contents Um... maybe :) I would like to see some numbers on how slow parsing the headers is in comparison with the time it takes to process the request or deal with the warp protocol Approximately 1/3...1/4 of the time, and objects allocation is approximately 2/3s (with the current code, and the WARP protocol stack is not optimized) Cool, if i understand correctly, this is for WARP, but how much is the % of improvement between WARP and reverse proxy? I see the value of warp for hiding the underlying transmission protocol, but in the case of embedding the JVM directly it may be worth to do it on its own. And then how can you load balance a JNI based servlet engine with a remote/networked one? Ok, but with a reverse proxy approach you can load balance between Tomcat, BEA and Websphere ;) My point is that if it is good enough for weblogic and IBM (they have an HTTP based protocol for Websphere 4.0) it may be good enough for us :) Not good enough for me :) Also, I would like to see a full httpd.conf configured to serve a web-application, if it is more than one line per web application, you get my +1 on continuing on mod_webapp :) I understand your concern with easy configuration. What I am advocating is adding all those features but still use HTTP as the transport (like subversion does for cvs). This eliminates the need to develop and maintain your own protocol, allows you to take advantage of things like SSL and any improvements that you make to reverse proxy, like load balancing, can be used by other modules or setups with any backend server, not only tomcat. Best regards Daniel
Re: cvs commit: httpd-2.0/server core.c
[EMAIL PROTECTED] wrote: wrowe 01/10/21 21:36:46 Modified:server core.c Log: Fix two typos in the last patch... compiles/tests clean... Greg, please run this against Apache.org until the first core and post the results. So far, so good. No more seg faults on log replays anyway. Thank goodness...I wasn't having any success at all trying to trap it. When/if the load dies down tonight, I'll try it live. Greg
Re: cvs commit: httpd-2.0/server core.c
From: Greg Ames [EMAIL PROTECTED] Sent: Monday, October 22, 2001 4:12 PM [EMAIL PROTECTED] wrote: wrowe 01/10/21 21:36:46 Modified:server core.c Log: Fix two typos in the last patch... compiles/tests clean... Greg, please run this against Apache.org until the first core and post the results. So far, so good. No more seg faults on log replays anyway. Thank goodness...I wasn't having any success at all trying to trap it. When/if the load dies down tonight, I'll try it live. You wouldn't. Now that I had a chance to sleep on it several days, restudy the code and contemplate my navel, I'm convinced it was an optimization bug. Apparently the memcpy sufficiently confused the optimizing engine that we had broken binaries, while the code itself was sound. If you look at the core.c to merge per-dir sections, you will notice the lhs/rhs args to memcpy are casted. Any bets that's how this broke? Bill
Re: New proxy hook
On Mon, 22 Oct 2001, Pier Fumagalli wrote: And dinamically reconfigure your apache web server from an HTTP request? I am not sure if sending everything over HTTP is really such a good idea. It would be nice if it did not have unnecessary overhead and could integrate well with already build technology that is mainly used for remote configuration. Things like LDAP, WebDAV, DHCP/BOOTP and SNMP already have some of these qualities and allow you to configure/maintain things. If you allow reconfiguration via an HTTP request, then you start running into all sorts of race conditions. Your new configuration is going to effect your configuration update mechanism. I mean I do not use my vacuum cleaner to clean a vacuum cleaner. Dynamic configuration of something that is receiving this new configuration request seems unncessarily complex to me. -- Sander van Zoest [EMAIL PROTECTED] High Geek http://Sander.vanZoest.com/
regarding httpd.h
hi all, i was wondering.. that... why do we have fixed paths in httpd.h such as the one for define statements thanks, regards, hiten pandya [EMAIL PROTECTED] __ Free E-mail - Lycos UK - http://www.lycos.co.uk Get your domain for £9.90 - http://lycos.uk.domainnames.com/default.asp?caller=lycos_ef Play now to win £1 Million - http://www.thedailydraw.com/mainframe.cfm?source=lycos
regarding httpd.h
hi all, i was wondering.. that... why do we have fixed paths in httpd.h such as the one for define statements thanks, regards, hiten pandya [EMAIL PROTECTED] __ Free E-mail - Lycos UK - http://www.lycos.co.uk Get your domain for £9.90 - http://lycos.uk.domainnames.com/default.asp?caller=lycos_ef Play now to win £1 Million - http://www.thedailydraw.com/mainframe.cfm?source=lycos
Re: regarding httpd.h
The defines in httpd.h all specify defaults, for example if you don't compile with --prefix=blah On Monday, October 22, 2001, at 05:47 PM, hiten pandya wrote: hi all, i was wondering.. that... why do we have fixed paths in httpd.h such as the one for define statements thanks, regards, hiten pandya [EMAIL PROTECTED] __ Free E-mail - Lycos UK - http://www.lycos.co.uk Get your domain for £9.90 - http://lycos.uk.domainnames.com/default.asp?caller=lycos_ef Play now to win £1 Million - http://www.thedailydraw.com/mainframe.cfm?source=lycos
Re: cvs commit: httpd-2.0/server core.c
From: William A. Rowe, Jr. [EMAIL PROTECTED] Sent: Monday, October 22, 2001 4:31 PM From: Greg Ames [EMAIL PROTECTED] Sent: Monday, October 22, 2001 4:12 PM [EMAIL PROTECTED] wrote: wrowe 01/10/21 21:36:46 Modified:server core.c Log: Fix two typos in the last patch... compiles/tests clean... Greg, please run this against Apache.org until the first core and post the results. So far, so good. No more seg faults on log replays anyway. Thank goodness...I wasn't having any success at all trying to trap it. When/if the load dies down tonight, I'll try it live. You wouldn't. I mean to way... you wouldn't have had success in trapping it ;) Please feel free to test. If we see the same (similar) segfaults... Now that I had a chance to sleep on it several days, restudy the code and contemplate my navel, I'm convinced it was an optimization bug. Apparently the memcpy sufficiently confused the optimizing engine that we had broken binaries, while the code itself was sound. If you look at the core.c to merge per-dir sections, you will notice the lhs/rhs args to memcpy are casted. Any bets that's how this broke? Try ripping off those casts and see if it magically 'disappears'.
apachectl reports 'httpd started' when httpd didn't
running a freshly installed from httpd-2.0 cvs httpd: % bin/apachectl start bin/apachectl start: httpd started % tail -f logs/error_log [Tue Oct 23 12:07:26 2001] [notice] Digest: generating secret for digest authentication ... [Tue Oct 23 12:07:28 2001] [notice] Digest: done [Tue Oct 23 12:07:29 2001] [crit] (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 [Tue Oct 23 12:07:29 2001] [alert] no listening sockets available, shutting down So httpd didn't start, while bin/apachectl reports that it did. Either httpd returns a wrong status here (too early?): if $HTTPD ; then echo $0 $ARG: httpd started or may be an additional check for pid file should be done and report success/failure only then? _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://ticketmaster.com http://apacheweek.com http://singlesheaven.com http://perl.apache.org http://perlmonth.com/
Re: apachectl reports 'httpd started' when httpd didn't
on 10/22/01 9:17 PM, Stas Bekman at [EMAIL PROTECTED] wrote: Either httpd returns a wrong status here (too early?): if $HTTPD ; then echo $0 $ARG: httpd started or may be an additional check for pid file should be done and report success/failure only then? Apachectl basically never looks back. I posted a small patch a while ago that waits for a couple of seconds after starting httpd and then checks the presence of the pid file, but it wasn't picked up. S. -- Covalent Technologies [EMAIL PROTECTED] Engineering groupVoice: (415) 536 5214 645 Howard St. Fax: (415) 536 5210 San Francisco CA 94105 PGP Fingerprint: 1E74 4E58 DFAC 2CF5 6A03 5531 AFB1 96AF B584 0AB1 === This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message ===