Right -- the pre-queue thing operates within the driver thread only, after all 
content is read, before it's dispatched to a connection.  The idea is that you 
may want to use the API to fetch using event-style network I/O some other bit 
of context to attach to the connection using the "connection specific storage" 
API.  So, it won't fire during the read.

However, a progress callback API could be good -- wouldn't be called unless 
someone wrote something special and careful enough to not bog things down.  
Maybe an "onstart", "onend", and "on %" and/or "on #" callback which could do 
something like dump the progress in some shared (process or machine wide) 
thinger for other threads to check.  I like the idea...


Oh, and the pre-queue leak sounds like a bug -- should just be re-using the 
same Tcl interp for all callbacks.

-Jim




On Nov 25, 2009, at 5:46 PM, Jeff Rogers wrote:

> It looks like the pre-queue filters are run after the message body has been 
> read, but before it is passed off to the Conn thread, so no help there.  
> However it looks like it would not be hard to add in a new callback to the 
> middle of the read loop, tho it's debatable if that's a good idea or not (for 
> one, it would get called a *lot*).
> 
> Curious about that tcl prequeue leak.  I guess no one uses or cares about it, 
> since the symptom is serious (more than just a really big memory leak, it 
> crashes the server too), the cause is pretty obvious and the fix appears on 
> the surface to be pretty obvious, although it does result in prequeue filters 
> working differently from all the others, in particular that it would use a 
> different interp from the rest of the request.
> 
> -J
> 
> Tom Jackson wrote:
> 
>> There is one possibility. There is a pre-queue filter in AOLserver
>> (run inside the driver thread). It works from the Tcl level, but
>> creates a memory leak equal to the size of an interp, in other words a
>> huge memory leak. However, maybe at the C level, you could create a
>> handler which would do something interesting before returning control
>> back to the driver thread and ultimately the conn thread. I'm not sure
>> exactly when the pre-queue filters are activated, but if it is before
>> reading the message body, it might be useful.
> 
> 
> --
> AOLserver - http://www.aolserver.com/
> 
> To Remove yourself from this list, simply send an email to 
> <[email protected]> with the
> body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
> field of your email blank.


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to 
<[email protected]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to