On Thu, 15 Jan 2015 11:01:43 -0600 Susan Hinrichs <shinr...@network-geographics.com> wrote:
> I've dug into Lev's observation on the Transaction Start hook and blind > tunnels some more. I'd like to pursue two issues so I'm dividing his > note into two. > > As the code currently stands, both TS_HTTP_TXN_START_HOOK and > TS_HTTP_SSN_START_HOOK get called at the start of the session. > TS_HTTP_SSN_START_HOOK gets involved explicitly from > HttpClientSession::new_connection(). TS_HTTP_TXN_START_HOOK gets called > from HttpSM::state_add_to_list. The TS_HTTP_TXN_START_HOOK gets called > before any attempt is made to read the client header (at least for the > first transaction). Heh. I've long been aware of some anomalies, but I hadn't realised TXN_START would get called in the absence of an HTTP request line. I think this calls for some more customised testing on my part. If what you're saying is that the creation of a txn, and with it the calling of any TXN_START continuations, should be contingent on detecting an HTTP request line, then +1. > At the end TS_HTTP_TXN_CLOSE_HOOK and TS_SSN_CLOSE_HOOK both get called > (though in the wrong order in my opinion, but Alan says that this is a > known issue). I've seen both orders. I agree it would be much easier if we could rely on seeing TXN_CLOSE first, but it can be worked around. -- Nick Kew