summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-05-02 11:57:29 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-05-02 11:57:29 +0200
commit579c61e579d9452682da51ec5e4b547684573807 (patch)
tree3a35286a2e79affa5b664b1df94f282f4ffe280e
parentd4539663f685910db1e8d7816508298b940c8590 (diff)
downloadrsyslog-579c61e579d9452682da51ec5e4b547684573807.tar.gz
rsyslog-579c61e579d9452682da51ec5e4b547684573807.tar.xz
rsyslog-579c61e579d9452682da51ec5e4b547684573807.zip
bugfix: a slightly more informative error message when a TCP
connections is aborted
-rw-r--r--ChangeLog2
-rw-r--r--runtime/strmsrv.c6
-rw-r--r--tcpsrv.c8
3 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 0fb8334d..c838f6d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,8 @@ Version 4.7.4 [v4-???] (rgerhards), 2010-11-??
directives (namely FQDN settings) did not have any effect
- bugfix: atomic increment for msg object may not work correct on all
platforms. Thanks to Chris Metcalf for the patch
+- bugfix: a slightly more informative error message when a TCP
+ connections is aborted
---------------------------------------------------------------------------
Version 4.7.3 [v4-devel] (rgerhards), 2010-11-25
- bugfix(important): problem in TLS handling could cause rsyslog to loop
diff --git a/runtime/strmsrv.c b/runtime/strmsrv.c
index 3dc53a97..8cebf810 100644
--- a/runtime/strmsrv.c
+++ b/runtime/strmsrv.c
@@ -520,6 +520,7 @@ Run(strmsrv_t *pThis)
strms_sess_t *pNewSess;
nssel_t *pSel;
ssize_t iRcvd;
+ rsRetVal localRet;
ISOBJ_TYPE_assert(pThis, strmsrv);
@@ -579,11 +580,12 @@ Run(strmsrv_t *pThis)
break;
case RS_RET_OK:
/* valid data received, process it! */
- if(strms_sess.DataRcvd(pThis->pSessions[iSTRMSess], buf, iRcvd) != RS_RET_OK) {
+ localRet = strms_sess.DataRcvd(pThis->pSessions[iSTRMSess], buf, iRcvd);
+ if(localRet != RS_RET_OK) {
/* in this case, something went awfully wrong.
* We are instructed to terminate the session.
*/
- errmsg.LogError(0, NO_ERRCODE, "Tearing down STRM Session %d - see "
+ errmsg.LogError(0, localRet, "Tearing down STRM Session %d - see "
"previous messages for reason(s)\n", iSTRMSess);
pThis->pOnErrClose(pThis->pSessions[iSTRMSess]);
strms_sess.Destruct(&pThis->pSessions[iSTRMSess]);
diff --git a/tcpsrv.c b/tcpsrv.c
index 0102bee7..5de805b2 100644
--- a/tcpsrv.c
+++ b/tcpsrv.c
@@ -471,6 +471,7 @@ static rsRetVal
Run(tcpsrv_t *pThis)
{
DEFiRet;
+ rsRetVal localRet;
int nfds;
int i;
int iTCPSess;
@@ -545,12 +546,13 @@ Run(tcpsrv_t *pThis)
break;
case RS_RET_OK:
/* valid data received, process it! */
- if(tcps_sess.DataRcvd(pThis->pSessions[iTCPSess], buf, iRcvd) != RS_RET_OK) {
+ localRet = tcps_sess.DataRcvd(pThis->pSessions[iTCPSess], buf, iRcvd);
+ if(localRet != RS_RET_OK) {
/* in this case, something went awfully wrong.
* We are instructed to terminate the session.
*/
- errmsg.LogError(0, NO_ERRCODE, "Tearing down TCP Session %d - see "
- "previous messages for reason(s)\n", iTCPSess);
+ errmsg.LogError(0, localRet, "Tearing down TCP Session %d - see "
+ "previous messages for reason(s)", iTCPSess);
pThis->pOnErrClose(pThis->pSessions[iTCPSess]);
tcps_sess.Destruct(&pThis->pSessions[iTCPSess]);
}