diff --git a/pvAccessApp/remote/blockingTCPTransport.cpp b/pvAccessApp/remote/blockingTCPTransport.cpp index a75ea71..bd29841 100644 --- a/pvAccessApp/remote/blockingTCPTransport.cpp +++ b/pvAccessApp/remote/blockingTCPTransport.cpp @@ -665,10 +665,10 @@ namespace epics { _sendBuffer->setPosition(currentPos); _sendBuffer->setLimit(_sendBuffer->getSize()); } - } catch(std::exception& e) { - errlogSevPrintf(errlogMajor, "%s", e.what()); - // error, release lock - clearAndReleaseBuffer(); + //} catch(std::exception& e) { + // errlogSevPrintf(errlogMajor, "%s", e.what()); + // // error, release lock + // clearAndReleaseBuffer(); } catch(...) { clearAndReleaseBuffer(); } @@ -707,10 +707,11 @@ namespace epics { buffer->getRemaining(), 0); if(bytesSent<0) { + // connection lost ostringstream temp; temp<<"error in sending TCP data: "<(_channel->getChannelRequester()))->release(); // TODO make impl that does shares channels (and does ref counting)!!! // try catch? - static_cast(_channel)->destroy(); + _channel->destroy(); + } + delete this; } void ServerChannelImpl::printInfo()