From 0b198ebc5935716111e349b4061f5d6999559407 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Fri, 11 Jul 2008 16:54:38 +0200
Subject: prepared for 3.18.0 release
---
ChangeLog | 4 +++-
configure.ac | 4 +---
doc/Makefile.am | 6 ++++++
doc/manual.html | 2 +-
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 5a058063..d945bf81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
---------------------------------------------------------------------------
-Version 3.18.0 (rgerhards), 2008-07-??
+Version 3.18.0 (rgerhards), 2008-07-11
+- begun a new v3-stable based on former 3.17.4 beta plus patches to
+ previous v3-stable
- bugfix in RainerScript: syntax error was not always detected
---------------------------------------------------------------------------
Version 3.17.5 (rgerhards), 2008-06-27
diff --git a/configure.ac b/configure.ac
index d55cb93a..a2f5172d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,9 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
-AC_INIT([rsyslog],[3.17.5],[rsyslog@lists.adiscon.com])
-=======
-AC_INIT([rsyslog],[3.16.3],[rsyslog@lists.adiscon.com])
+AC_INIT([rsyslog],[3.18.0],[rsyslog@lists.adiscon.com])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([syslogd.c])
AC_CONFIG_HEADERS([config.h])
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 653ed627..518b90ed 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -72,6 +72,12 @@ html_files = \
rsconf1_resetconfigvariables.html \
rsconf1_umask.html \
v3compatibility.html \
+ gssapi.html \
+ licensing.html \
+ ommail.html \
+ omrelp.html \
+ status.html \
+ troubleshoot.html \
src/classes.dia
EXTRA_DIST = $(html_files)
diff --git a/doc/manual.html b/doc/manual.html
index 9a017faf..5b2a039f 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -16,7 +16,7 @@ relay chains while at the same time being very easy to setup for the
novice user. And as we know what enterprise users really need, there is
also professional
rsyslog support available directly from the source!
-This documentation is for version 3.17.5 (beta branch) of rsyslog.
+
This documentation is for version 3.18.0 (v3-stable branch) of rsyslog.
Visit the rsyslog status page to obtain current
version information and project status.
If you like rsyslog, you might
--
cgit v1.2.3
From 816fda97750454bba0845a83d1a2b1ddcabe85e4 Mon Sep 17 00:00:00 2001
From: Rainer Gerhards
Date: Mon, 14 Jul 2008 11:14:14 +0200
Subject: bugfix: potential segfault in creating message mutex in non-direct
queue mode.
rsyslogd segfaults on freeeBSD 7.0 (an potentially other platforms)
if an action queue is running in any other mode than non-direct. The
same problem can potentially be triggered by some main message queue
settings. In any case, it will manifest during rsylog's startup. It is
unlikely to happen after a successful startup (the only window of
exposure may be a relatively seldom executed action running in queued
mode). This has been corrected. Thank to HKS for point out the problem.
---
ChangeLog | 10 ++++++++++
msg.c | 31 +++++++++++++++++++++++++++++--
2 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d945bf81..d611d684 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,14 @@
---------------------------------------------------------------------------
+Version 3.18.1 (rgerhards), 2008-07-??
+- bugfix: potential segfault in creating message mutex in non-direct queue
+ mode. rsyslogd segfaults on freeeBSD 7.0 (an potentially other platforms)
+ if an action queue is running in any other mode than non-direct. The
+ same problem can potentially be triggered by some main message queue
+ settings. In any case, it will manifest during rsylog's startup. It is
+ unlikely to happen after a successful startup (the only window of
+ exposure may be a relatively seldom executed action running in queued
+ mode). This has been corrected. Thank to HKS for point out the problem.
+---------------------------------------------------------------------------
Version 3.18.0 (rgerhards), 2008-07-11
- begun a new v3-stable based on former 3.17.4 beta plus patches to
previous v3-stable
diff --git a/msg.c b/msg.c
index 9a12d572..5258b6eb 100644
--- a/msg.c
+++ b/msg.c
@@ -159,14 +159,40 @@ static void MsgLockingDummy(msg_t __attribute__((unused)) *pMsg)
* where a message may be accessed by multiple threads. This implementation here
* is the version for multiple concurrent acces. It initializes the locking
* structures.
+ * TODO: change to an iRet interface! -- rgerhards, 2008-07-14
*/
static void MsgPrepareEnqueueLockingCase(msg_t *pThis)
{
+ int iErr;
+ BEGINfunc
assert(pThis != NULL);
- pthread_mutexattr_settype(&pThis->mutAttr, PTHREAD_MUTEX_RECURSIVE);
+ iErr = pthread_mutexattr_init(&pThis->mutAttr);
+ if(iErr != 0) {
+ dbgprintf("error initializing mutex attribute in %s:%d, trying to continue\n",
+ __FILE__, __LINE__);
+ }
+ iErr = pthread_mutexattr_settype(&pThis->mutAttr, PTHREAD_MUTEX_RECURSIVE);
+ if(iErr != 0) {
+ dbgprintf("ERROR setting mutex attribute to recursive in %s:%d, trying to continue "
+ "but we will probably either abort or hang soon\n",
+ __FILE__, __LINE__);
+ /* TODO: it makes very little sense to continue here,
+ * but it requires an iRet interface to gracefully shut
+ * down. We should do that over time. -- rgerhards, 2008-07-14
+ */
+ }
pthread_mutex_init(&pThis->mut, &pThis->mutAttr);
+
+ /* we do no longer need the attribute. According to the
+ * POSIX spec, we can destroy it without affecting the
+ * initialized mutex (that used the attribute).
+ * rgerhards, 2008-07-14
+ */
+ pthread_mutexattr_destroy(&pThis->mutAttr);
+ ENDfunc
}
+
/* ... and now the locking and unlocking implementations: */
static void MsgLockLockingCase(msg_t *pThis)
{
@@ -201,11 +227,12 @@ static void MsgDeleteMutexLockingCase(msg_t *pThis)
*/
rsRetVal MsgEnableThreadSafety(void)
{
+ DEFiRet;
funcLock = MsgLockLockingCase;
funcUnlock = MsgUnlockLockingCase;
funcMsgPrepareEnqueue = MsgPrepareEnqueueLockingCase;
funcDeleteMutex = MsgDeleteMutexLockingCase;
- return RS_RET_OK;
+ RETiRet;
}
/* end locking functions */
--
cgit v1.2.3