From 6170dc9406844298d89d7700b303a5a0488cd017 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 7 Jan 2011 10:24:31 -0600 Subject: [PATCH] libCom: Fix errlogPrintf() assert fail at shutdown If errlogPrintf() gets called during shutdown, it can cause a recursive assert failure. Fixes lp:693534 --- src/libCom/error/errlog.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libCom/error/errlog.c b/src/libCom/error/errlog.c index 49e743c6d..36399a119 100644 --- a/src/libCom/error/errlog.c +++ b/src/libCom/error/errlog.c @@ -119,10 +119,11 @@ epicsShareFunc int errlogPrintf(const char *pFormat, ...) errlogInit(0); if (pvtData.atExit || (isOkToBlock && pvtData.toConsole)) { va_start(pvar, pFormat); - vfprintf(stderr, pFormat, pvar); + nchar = vfprintf(stderr, pFormat, pvar); va_end (pvar); fflush(stderr); } + if (pvtData.atExit) return nchar; pbuffer = msgbufGetFree(isOkToBlock); if (!pbuffer) return 0; va_start(pvar, pFormat);