When reaching a redirect limit, the status object provided will not have errno set (defaulting to 0).
Processing the errno of this status object can lead to confusion, as an error is encountered (!status.IsOk()
gives true) but the errno
is 0.
The case I've identified happened in the following code section (XrdClXrootDMsgHandler.cc:493):
if( !pRedirectCounter )
{
log->Warning( XRootDMsg, "[%s] Redirect limit has been reached for "
"message %s, the last known error is: %s",
pUrl.GetHostId().c_str(),
pRequest->GetDescription().c_str(),
pLastError.ToString().c_str() );
pStatus = Status( stFatal, errRedirectLimit );
HandleResponse();
return;
}
At this point, the value of the last known error status is still available.
Should the new status object have its errno
set from the last known error object?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
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