httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <...@covalent.net>
Subject Re: keepalive status
Date Wed, 08 Aug 2001 22:36:40 GMT

Why not register a cleanup with the connection pool?

Ryan

On Wednesday 08 August 2001 15:31, MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1) wrote:
> Hi Dean,
> 	Thanks for the info. I'm not sure if we can totally rely on
> r->connection->aborted flag always - the obvious question will be : how
> often do I need to keep checking the flag ?.. One observation is that you
> get APR_TIMEUP error when you try to read after a keepalive timeout - is it
> a good indication for the modules to cleanup any connection specific data
> at that point ?..
> 	Instead, it'd have been cool if we had a close-connection hook
> (similar to pre-connection and process-connection) - so that incase of a
> aborted connections OR keepalive connections, as soon as the core decides
> to close the socket / connection (for whatever reason), the applications
> can be notified immediately to perform any cleanup actions.. Now that
> there's no such thing, I was just looking for a ideal place to perform the
> cleanup actions ?.. Any ideas are welcome..
>
> Thanks
> -Madhu
>
> -----Original Message-----
> From: dean gaudet [mailto:dgaudet-list-new-httpd@arctic.org]
> Sent: Wednesday, August 08, 2001 3:16 PM
> To: 'new-httpd@apache.org'
> Subject: Re: keepalive status
>
>
> in apache-1.3 you have two choices -- if you use hard timeouts then you
> don't get any notification, the request is aborted and longjmp() takes the
> child back to its main loop.  if you use soft timeouts then you eventually
> can detect a closed connection by studying r->connection->aborted.
> (there are examples in the core.)
>
> in apache-2.0 you only have the second choice, except i'm not exactly sure
> of the right syntax... you may have to study the result codes of the
> various write operations.
>
> in either case the kernel doesn't always know the client has gone away
> immediately, and application notification can take some time.
>
> in particular there's no easy way to determine the client is gone if
> you're not writing anything to the client (i.e. you're waiting on a
> database query or some expensive calculation, and have nothing to write to
> the client).
>
> -dean
>
> On Mon, 6 Aug 2001, MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1) wrote:
> > Quick Question : If keepalive is enabled, how is a module conveyed of a
> > dropped connection - OR in other words, what is a good point when a
> > module should clean up data after a connection has been dropped / aborted
> > ?..
> >
> > Thanks
> > -Madhu

-- 

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

Mime
View raw message