You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Roy T. Fielding" <fi...@ebuilt.com> on 2001/08/30 03:21:33 UTC

please make SIG_GRACEFUL configurable

This has been on my to-do list for ages.  The decision to change from
SIGUSR1 to SIGWINCH just because a particular old version of Linux threads
happens to suck was a bad decision.  Hard-coding the value within a
bunch of places in httpd was just bad coding.

I would really appreciate it if someone coded up a patch to add an

   AP_SIG_GRACEFUL

definition, apply it everywhere in the code (and in the control scripts),
and then make it configurable using configure [default=SIGUSR1].  To make
it even better, we should have a way to signal it using httpd itself

    httpd restart
    httpd graceful
    httpd stop

would check for an existing process and send it the appropriate signal.
That way we wouldn't be spreading implementation assumptions throughout
the support code.

....Roy


Re: please make SIG_GRACEFUL configurable

Posted by "Roy T. Fielding" <fi...@ebuilt.com>.
> Can we _please_ agree on semantics, finally, to bring httpd/win32 and httpd/others
> in sync again?  We use the -k start|stop|restart semantic, could easily add
> graceful with it's proper meaning (and make restart a hard restart, as it was in
> the very early win32 version.

+1  -- I really prefer using the executable to determine the mechanism,
       since that is the problem we now face (hundreds of deployed scripts
       and books that say "kill -USR1 `cat httpd.pid`")

....Roy


Re: please make SIG_GRACEFUL configurable

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
From: "Roy T. Fielding" <fi...@ebuilt.com>
Sent: Wednesday, August 29, 2001 8:21 PM


> and then make it configurable using configure [default=SIGUSR1].  To make
> it even better, we should have a way to signal it using httpd itself
> 
>     httpd restart
>     httpd graceful
>     httpd stop
> 
> would check for an existing process and send it the appropriate signal.
> That way we wouldn't be spreading implementation assumptions throughout
> the support code.

Can we _please_ agree on semantics, finally, to bring httpd/win32 and httpd/others
in sync again?  We use the -k start|stop|restart semantic, could easily add
graceful with it's proper meaning (and make restart a hard restart, as it was in
the very early win32 version.

Bill


Re: please make SIG_GRACEFUL configurable

Posted by "Roy T. Fielding" <fi...@ebuilt.com>.
> > Okay.  -1 on the change to SIGWINCH.  Restore SIGUSR1 on all platforms.
> 
> How are you going to make that work on older versions of Linux again?

I don't use older versions of Linux.  They have security holes.

My preference is for the signal to be configurable and for it to be
activated by running httpd with a simple argument, just like on win32.
Failing that, I'd rather have httpd be broken on those platforms that
are unusable for Web servers rather than be broken on those platforms
that are usable for Web servers.  That means the universal default
must be SIGUSR1, since SIGWINCH is an entirely unreliable signal that
isn't even supported on all platforms.  

....Roy


Re: please make SIG_GRACEFUL configurable

Posted by Ryan Bloom <rb...@covalent.net>.
On Thursday 30 August 2001 13:22, Roy T. Fielding wrote:
> On Wed, Aug 29, 2001 at 08:04:03PM -0700, Ryan Bloom wrote:
> > On Wednesday 29 August 2001 18:21, Roy T. Fielding wrote:
> >
> > This was discussed at length before, and it was decided that we should
> > use the same signal on all platforms for all MPMs (assuming the platform
> > supports signals).  Making this be a different signal on different
> > platforms is just plain wrong.
>
> Okay.  -1 on the change to SIGWINCH.  Restore SIGUSR1 on all platforms.

How are you going to make that work on older versions of Linux again?

Ryan

______________________________________________________________
Ryan Bloom				rbb@apache.org
Covalent Technologies			rbb@covalent.net
--------------------------------------------------------------

Re: please make SIG_GRACEFUL configurable

Posted by "Roy T. Fielding" <fi...@ebuilt.com>.
On Wed, Aug 29, 2001 at 08:04:03PM -0700, Ryan Bloom wrote:
> On Wednesday 29 August 2001 18:21, Roy T. Fielding wrote:
> 
> This was discussed at length before, and it was decided that we should
> use the same signal on all platforms for all MPMs (assuming the platform
> supports signals).  Making this be a different signal on different platforms
> is just plain wrong.

Okay.  -1 on the change to SIGWINCH.  Restore SIGUSR1 on all platforms.

....Roy


Re: please make SIG_GRACEFUL configurable

Posted by Ryan Bloom <rb...@covalent.net>.
On Wednesday 29 August 2001 18:21, Roy T. Fielding wrote:

This was discussed at length before, and it was decided that we should
use the same signal on all platforms for all MPMs (assuming the platform
supports signals).  Making this be a different signal on different platforms
is just plain wrong.

Ryan

> This has been on my to-do list for ages.  The decision to change from
> SIGUSR1 to SIGWINCH just because a particular old version of Linux threads
> happens to suck was a bad decision.  Hard-coding the value within a
> bunch of places in httpd was just bad coding.
>
> I would really appreciate it if someone coded up a patch to add an
>
>    AP_SIG_GRACEFUL
>
> definition, apply it everywhere in the code (and in the control scripts),
> and then make it configurable using configure [default=SIGUSR1].  To make
> it even better, we should have a way to signal it using httpd itself
>
>     httpd restart
>     httpd graceful
>     httpd stop
>
> would check for an existing process and send it the appropriate signal.
> That way we wouldn't be spreading implementation assumptions throughout
> the support code.
>
> ....Roy

-- 

______________________________________________________________
Ryan Bloom				rbb@apache.org
Covalent Technologies			rbb@covalent.net
--------------------------------------------------------------

Re: please make SIG_GRACEFUL configurable

Posted by Cliff Woolley <cl...@yahoo.com>.
On Wed, 29 Aug 2001, Roy T. Fielding wrote:

> it even better, we should have a way to signal it using httpd itself
>
>     httpd restart
>     httpd graceful
>     httpd stop
>
> would check for an existing process and send it the appropriate signal.
> That way we wouldn't be spreading implementation assumptions throughout
> the support code.

apachectl already has some values substituted at configure time... might
as well just substitute in the requisite signals as well.

--Cliff

--------------------------------------------------------------
   Cliff Woolley
   cliffwoolley@yahoo.com
   Charlottesville, VA