hybernate send/receive threads when there are enobuf problems
This commit is contained in:
@@ -226,6 +226,14 @@ unsigned tcpiiu::sendBytes ( const void *pBuf,
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( localError == SOCK_ENOBUFS ) {
|
||||
errlogPrintf (
|
||||
"CAC: system low on network buffers "
|
||||
"- send retry in 15 seconds\n" );
|
||||
epicsThreadSleep ( 15.0 );
|
||||
continue;
|
||||
}
|
||||
|
||||
if (
|
||||
localError != SOCK_EPIPE &&
|
||||
localError != SOCK_ECONNRESET &&
|
||||
@@ -294,6 +302,14 @@ void tcpiiu::recvBytes (
|
||||
if ( localErrno == SOCK_EINTR ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( localErrno == SOCK_ENOBUFS ) {
|
||||
errlogPrintf (
|
||||
"CAC: system low on network buffers "
|
||||
"- receive retry in 15 seconds\n" );
|
||||
epicsThreadSleep ( 15.0 );
|
||||
continue;
|
||||
}
|
||||
|
||||
stat.bytesCopied = 0u;
|
||||
stat.circuitState = swioPeerAbort;
|
||||
|
||||
Reference in New Issue
Block a user