The following reply was made to PR os-solaris/888; it has been noted by GNATS.
From: Larry Rosenman-CyberRamp System Administration <[EMAIL PROTECTED]>
To: "'Dean Gaudet'" <[EMAIL PROTECTED]>,
Larry Rosenman-CyberRamp System Administration <[EMAIL PROTECTED]>
Subject: RE: os-solaris/888: SIGHUP won't restart EVEN WITH THE PATCH
Date: Mon, 28 Jul 1997 14:54:45 -0500
Does this mean I can't get more than ~120 Vhosts on Solaris, even with 1.2.1?
Yech. I really wanted more.
Larry
--
Larry Rosenman, Sr. System Administrator, CyberRamp Internet Services
E-Mail: [EMAIL PROTECTED], http://www.cyberramp.net
Voice: (214) 340-2020/(817) 226-2020 (Metro)/Fax: (214) 343-3727
U.S. Mail: 11350 Hillguard Rd, Dallas, TX 75243-8311
On Monday, July 28, 1997 1:44 PM, Dean Gaudet [SMTP:[EMAIL PROTECTED] wrote:
> Larry, please try the patch below. You have to reverse the old patch (use
> patch -R, or unpack apache_1.2.1 again and retrieve the original
> http_main.c out of it).
>
> 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
> */
>
>
>