In the normal case, when a client makes a request, Finished() is called before the client disconnects: ``` 171103 11:36:34 14217 XrootdXeq: mike.14362:29@localhost pvt IP64 login [DEBUG] Service::Prepare(): [DEBUG] Resource name: /ctafrontend [DEBUG] RequestProc() constructor [DEBUG] XrdSsiPbService::ProcessRequest(): Binding Processor to Request [DEBUG] RequestProc::Execute() [DEBUG] RequestProc::Finished() [DEBUG] XrdSsiPbService::ProcessRequest(): Unbinding Processor from Request [DEBUG] ~RequestProc() destructor 171103 11:36:35 14217 XrootdXeq: mike.14362:29@localhost disc 0:00:01 ``` However, if the client disconnects (process is killed or the connection times out), Finished() is not called until the server has finished processing the response. Here I artifically made the response take 100 seconds to illustrate the problem: ``` 171103 11:36:54 14075 XrootdXeq: mike.14377:27@localhost pvt IP64 login [DEBUG] Service::Prepare(): [DEBUG] Resource name: /ctafrontend [DEBUG] RequestProc() constructor [DEBUG] XrdSsiPbService::ProcessRequest(): Binding Processor to Request [DEBUG] RequestProc::Execute() 171103 11:36:55 14217 XrootdXeq: mike.14377:27@localhost disc 0:00:01 171103 11:38:34 14075 XrootdsendResp: mike.14377:27@localhost query async resp aborted; user gone. [DEBUG] RequestProc::Finished() [DEBUG] XrdSsiPbService::ProcessRequest(): Unbinding Processor from Request [DEBUG] ~RequestProc() destructor ``` Note that the client disconnects at 11:36:55 but the response is not aborted immediately. It runs to completion before it realises that the client is no longer present. At 11:38:34, it realises that the user is gone and then calls Finished(). In the intervening time between the client disconnect and Finished(), new client connections are refused with this error: ``` Unable to write /ctafrontend; address already in use ``` (Note that normally multiple simultaneous connections are fine, it's only after a client disconnect that new connections are refused). -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/616 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1