diff --git a/src/libCom/error/errlog.c b/src/libCom/error/errlog.c index ad61e36b1..e453e6d77 100644 --- a/src/libCom/error/errlog.c +++ b/src/libCom/error/errlog.c @@ -295,13 +295,13 @@ epicsShareFunc void epicsShareAPIV errPrintf(long status, const char *pFileName, msgbufSetSize(totalChar); } -epicsShareFunc int epicsShareAPI errlogInit(int bufsize) -{ - static int errlogInitFlag=0; - void *pbuffer;; +typedef struct {int bufsize;} errlogInitArg; + +static void errlogInitPvt(void *arg) +{ + int bufsize = ((errlogInitArg *)arg)->bufsize; + void *pbuffer; - if(errlogInitFlag) return(0); - errlogInitFlag = 1; if(bufsize