summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-05-02 12:03:42 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-05-02 12:03:42 +0200
commitd13ec67f9ab9c59a88952af6aec372fd082401ca (patch)
treef9060d60a97905e3e561f83fbba563f0757d5074
parente7deab65dcad38a613c749e44e36c6c795000867 (diff)
downloadrsyslog-d13ec67f9ab9c59a88952af6aec372fd082401ca.tar.gz
rsyslog-d13ec67f9ab9c59a88952af6aec372fd082401ca.tar.xz
rsyslog-d13ec67f9ab9c59a88952af6aec372fd082401ca.zip
slightly more informative errmsg when TCP connection 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 e63c5d72..6adcc29e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,8 @@ Version 4.6.6 [v4-stable] (rgerhards), 2010-11-??
bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=221
- bugfix: omlibdbi did not use password from rsyslog.con
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=203
+- bugfix: a slightly more informative error message when a TCP
+ connections is aborted
- some improvements thanks to clang's static code analyzer
o overall cleanup (mostly unnecessary writes and otherwise unused stuff)
o bugfix: fixed a very remote problem in msg.c which could occur when
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]);
}