httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: cvs commit: httpd-2.0/server listen.c
Date Tue, 05 Feb 2002 12:13:43 GMT
rbb@apache.org writes:

> rbb         02/02/04 22:16:04
> 
>   Modified:    .        STATUS
>                server   listen.c
>   Log:
>   This change keeps the server from allowing multiple instances to bind to
>   the same port.  Previously, this was necessary, because the Windows MPM
>   was binding to the socket in both the parent and child.  Today's code
>   passes the attached socket to the child from the parent, so we don't need
>   to re-attach in the child.

what the *&%#...  you broke everybody else (and perhaps Windows in
some scenarios) 

-1

This change also prevents a single instance (i.e., normal scenario) to
bind to the desired port when an old connection is in TIME_WAIT or some
other TCP state.

I can't see any SO_REUSEADDR being done on Unix now and meanwhile I
have a continual stream of regression test failures saying:

(98)Address already in use: make_sock: could not bind to address
    0.0.0.0:8099
no listening sockets available, shutting down

>   1.70      +0 -9      httpd-2.0/server/listen.c
>   
>   Index: listen.c
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/server/listen.c,v
>   retrieving revision 1.69
>   retrieving revision 1.70
>   diff -u -r1.69 -r1.70
>   --- listen.c	4 Feb 2002 16:58:54 -0000	1.69
>   +++ listen.c	5 Feb 2002 06:16:04 -0000	1.70
>   @@ -89,15 +89,6 @@
>        int one = 1;
>        apr_status_t stat;
>    
>   -    stat = apr_setsocketopt(s, APR_SO_REUSEADDR, one);
>   -    if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) {
>   -        ap_log_perror(APLOG_MARK, APLOG_CRIT, stat, p,
>   -                    "make_sock: for address %pI, setsockopt: (SO_REUSEADDR)", 
>   -                     server->bind_addr);
>   -        apr_socket_close(s);
>   -        return stat;
>   -    }
>   -    
>        stat = apr_setsocketopt(s, APR_SO_KEEPALIVE, one);
>        if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) {
>            ap_log_perror(APLOG_MARK, APLOG_CRIT, stat, p,

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Mime
View raw message