You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Yann Ylavic <yl...@gmail.com> on 2018/01/07 19:41:48 UTC
Re: svn commit: r1820466 - /httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml
Hi Luca,
On Sun, Jan 7, 2018 at 3:39 PM, <el...@apache.org> wrote:
> Author: elukey
> Date: Sun Jan 7 14:39:47 2018
> New Revision: 1820466
>
> URL: http://svn.apache.org/viewvc?rev=1820466&view=rev
> Log:
> event.xml: add a note about lingering close
>
> Modified:
> httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml
>
> Modified: httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml
> URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml?rev=1820466&r1=1820465&r2=1820466&view=diff
> ==============================================================================
> --- httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml (original)
> +++ httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml Sun Jan 7 14:39:47 2018
> @@ -94,7 +94,9 @@ of the <directive>AsyncRequestWorkerFact
> sockets and they can be re-used to serve other requests.</dd>
>
> <dt>Closing</dt>
> + [...] The lingering close is time bounded but it can take relatively long time, so a worker thread can offload this work to the listener. From 2.4.28 onward
> + the listener does not perform the lingering close anymore but it offloads the job to the first worker available.
We can probably join these two sentences (moreover both are quite
contradictory, the lingering close is really offloaded *by* the
listener *to* a worker.
So how about something like:
"The lingering close is time bounded but it can take relatively long
time, so it's offloaded to a worker thread (including the shutdown
hooks and real socket close), and from 2.4.28 onward this is also the
case when connections finally timeout (the listener thread never
handles connections besides waiting for and dispatching their
events)."
?
Thanks for taking care of event's docs!
Regards,
Yann.
Re: svn commit: r1820466 - /httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml
Posted by Luca Toscano <to...@gmail.com>.
Hi Yann,
2018-01-07 20:41 GMT+01:00 Yann Ylavic <yl...@gmail.com>:
> Hi Luca,
>
> On Sun, Jan 7, 2018 at 3:39 PM, <el...@apache.org> wrote:
> > Author: elukey
> > Date: Sun Jan 7 14:39:47 2018
> > New Revision: 1820466
> >
> > URL: http://svn.apache.org/viewvc?rev=1820466&view=rev
> > Log:
> > event.xml: add a note about lingering close
> >
> > Modified:
> > httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml
> >
> > Modified: httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml
> > URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/
> docs/manual/mod/event.xml?rev=1820466&r1=1820465&r2=1820466&view=diff
> > ============================================================
> ==================
> > --- httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml (original)
> > +++ httpd/httpd/branches/2.4.x/docs/manual/mod/event.xml Sun Jan 7
> 14:39:47 2018
> > @@ -94,7 +94,9 @@ of the <directive>AsyncRequestWorkerFact
> > sockets and they can be re-used to serve other
> requests.</dd>
> >
> > <dt>Closing</dt>
> > + [...] The lingering close is time bounded but it can take
> relatively long time, so a worker thread can offload this work to the
> listener. From 2.4.28 onward
> > + the listener does not perform the lingering close anymore
> but it offloads the job to the first worker available.
>
> We can probably join these two sentences (moreover both are quite
> contradictory, the lingering close is really offloaded *by* the
> listener *to* a worker.
>
This is my fault, I was convinced that the worker was delegating the
lingering close to the listener entirely, not only when the connection
timeout elapsed. This is why I wrote from the worker to the listener and
not the other way around.
>
> So how about something like:
> "The lingering close is time bounded but it can take relatively long
> time, so it's offloaded to a worker thread (including the shutdown
> hooks and real socket close), and from 2.4.28 onward this is also the
> case when connections finally timeout (the listener thread never
> handles connections besides waiting for and dispatching their
> events)."
> ?
>
Committed in trunk/2.4.x with a small variation (added a . to separate the
two sentences).
Thanks a lot for the explanation, sorry for the wrong docs :)
Luca