Well, I respectfully disagree :) From the client perspective three things can happen after XrdNetConnect::Connect is called:
READYTOWRITE
should the status change, in this case the possible error is handled in the callback, if there is no error it proceeds with the handshakeREADYTOWRITE
notifications as long as the socket remains writable. So, the client should receive the callback, and when it does, it again invokes getsockopt SOL_SOCKET SO_ERROR
which returns success (it's an overhead to check for the same error twice, but performance-wise it's negligible), and then in proceeds with the handshake. The only difference is that the success is not declared immediately, but in the callback instead.So there is indeed a logic error. It is in the poller.
—
Reply to this email directly or view it on GitHub.
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