Skip to content

Commit

Permalink
[XrdCl] Use big enough integer to calculate fatal error window and re…
Browse files Browse the repository at this point in the history
…member last fatal error
  • Loading branch information
ljanyst committed Jun 6, 2013
1 parent 66ab10d commit 83179d7
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
7 changes: 5 additions & 2 deletions src/XrdCl/XrdClStream.cc
Expand Up @@ -221,7 +221,7 @@ namespace XrdCl
time_t now = ::time(0);

if( now-pLastStreamError < pStreamErrorWindow )
return Status( stFatal, errConnectionError );
return pLastFatalError;

gettimeofday( &pConnectionStarted, 0 );
pConnectionInitTime = now;
Expand All @@ -236,7 +236,8 @@ namespace XrdCl
log->Error( PostMasterMsg, "[%s] Unable to resolve IP address for "
"the host", pStreamName.c_str() );
pLastStreamError = now;
st.status = stFatal;
st.status = stFatal;
pLastFatalError = st;
return st;
}

Expand Down Expand Up @@ -484,6 +485,7 @@ namespace XrdCl
if( subStream == 0 )
{
pLastStreamError = 0;
pLastFatalError = Status();
pConnectionCount = 0;
uint16_t numSub = pTransport->SubStreamNumber( *pChannelData );
++pSessionId;
Expand Down Expand Up @@ -769,6 +771,7 @@ namespace XrdCl

pConnectionCount = 0;
pLastStreamError = ::time(0);
pLastFatalError = status;

SubStreamList::iterator it;
OutQueue q;
Expand Down
3 changes: 2 additions & 1 deletion src/XrdCl/XrdClStream.hh
Expand Up @@ -309,7 +309,8 @@ namespace XrdCl
XrdSysRecMutex pMutex;
InQueue *pIncomingQueue;
AnyObject *pChannelData;
uint16_t pLastStreamError;
uint32_t pLastStreamError;
Status pLastFatalError;
uint16_t pStreamErrorWindow;
uint16_t pConnectionCount;
uint16_t pConnectionRetry;
Expand Down

0 comments on commit 83179d7

Please sign in to comment.