httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Behlendorf <br...@organic.com>
Subject Re: [PATCH] solaris sockets
Date Mon, 28 Jul 1997 20:37:02 GMT

1) Can we put this in the regular documentation somewhere?  should we start
platform-specific "issues" pages?

2) Anyone know if these problems are "fixed" in Solaris 2.6?

3) Does solaris X86 have this problem too?

"fascinating, captain"

	Brian

At 11:37 AM 7/28/97 -0700, you wrote:
>I think the comment in the patch speaks for itself.  I'll mail this to all
>the PR submitters.  This is against 1.2.1 without the previous patch
>applied.
>
>Dean
>
>--- apache_1.2.1-dist/src/http_main.c	Sun Jun 29 11:08:37 1997
>+++ apache_1.2.1/src/http_main.c	Mon Jul 28 11:35:36 1997
>@@ -1982,7 +1982,27 @@
>         exit(1);
>     }
> 
>+    /* Solaris, at least versions 2.4, 2.5 and 2.5.1, even with various
>+     * levels of tcp/ip patches available as of July 28, 1997, completely
>+     * botches up if you do any form of dup() on a socket.  If that dupped
>+     * socket is then put into listen() and accept()s at least one
>+     * connection, then Bad Things happen.  Things work fine until the
>+     * socket is close()d.  At that point, no matter what SO_REUSEADDR was
>+     * set to, nothing can rebind the same address/port, you'll get
>+     * "Address in use" errors.  This takes about 5 minutes to timeout.
>+     *
>+     * So we do no slacking on solaris sockets.  If you can live with those
>+     * restrictions (which essentially means you have to use SIGUSR1 and
>+     * not SIGHUP to restart the server, and should you ever need to stop
>+     * the server you'll have at least a 5 minute wait before you can
>+     * restart it) then you can remove this #ifndef.  You'll get yourself
>+     * another 120ish virtual hosts (assuming you're using Listen for each
>+     * of them) before you run into another Solaris problem:  the 256
>+     * FILE * limitation.
>+     */
>+#ifndef SOLARIS2
>     s = ap_slack(s, AP_SLACK_HIGH);
>+#endif
> 
>     note_cleanups_for_fd(pconf, s); /* arrange to close on exec or
restart */
>     
>
>
>
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--
"Why not?" - TL           brian@organic.com - hyperreal.org - apache.org

Mime
View raw message