From ffe38fffb88a318bb79df1b97038619cf47b2500 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 28 Jan 2009 21:16:39 +0000 Subject: [PATCH] Don't forget to flush! --- src/libCom/error/errlog.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libCom/error/errlog.c b/src/libCom/error/errlog.c index 91e4327ba..ccc28c744 100644 --- a/src/libCom/error/errlog.c +++ b/src/libCom/error/errlog.c @@ -149,10 +149,14 @@ epicsShareFunc int errlogVprintf( pbuffer = msgbufGetFree(isOkToBlock); if (!pbuffer) { vfprintf(stderr, pFormat, pvar); + fflush(stderr); return 0; } - nchar = tvsnPrint(pbuffer,pvtData.maxMsgSize,pFormat?pFormat:"",pvar); - fprintf(stderr, "%s", pbuffer); + nchar = tvsnPrint(pbuffer, pvtData.maxMsgSize, pFormat?pFormat:"", pvar); + if (pvtData.atExit || (isOkToBlock && pvtData.toConsole)) { + fprintf(stderr, "%s", pbuffer); + fflush(stderr); + } msgbufSetSize(nchar); return nchar; }