diff --git a/src/libCom/misc/cantProceed.c b/src/libCom/misc/cantProceed.c index b03d43cc4..f1bb60dd4 100644 --- a/src/libCom/misc/cantProceed.c +++ b/src/libCom/misc/cantProceed.c @@ -7,15 +7,12 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* callocMustSucceed.c */ +/* $Id$ */ /* Author: Marty Kraimer Date: 04JAN99 */ #include -#include #include -#include -#include #define epicsExportSharedSymbols #include "errlog.h" @@ -24,31 +21,38 @@ epicsShareFunc void * callocMustSucceed(size_t count, size_t size, const char *errorMessage) { - void *mem = calloc(count,size); - if(mem==0 && count!=0 && size!=0) { - errlogPrintf("%s callocMustSucceed failed count %lu size %lu\n", - errorMessage,(unsigned long)count,(unsigned long)size); + void * mem = NULL; + if (count != 0 && size != 0) + mem = calloc(count, size); + if (mem == NULL) { + errlogPrintf("%s: callocMustSucceed(count=%lu, size=%lu) failed\n", + errorMessage, (unsigned long)count, (unsigned long)size); cantProceed(0); } - return(mem); + return mem; } epicsShareFunc void * mallocMustSucceed(size_t size, const char *errorMessage) { - void *mem = malloc(size); - if(mem==0 && size!=0) { - errlogPrintf("%s mallocMustSucceed failed size %lu\n", - errorMessage,(unsigned long)size); + void * mem = NULL; + if (size != 0) + mem = malloc(size); + if (mem == NULL) { + errlogPrintf("%s: mallocMustSucceed(size=%lu) failed\n", + errorMessage, (unsigned long)size); cantProceed(0); } - return(mem); + return mem; } epicsShareFunc void cantProceed(const char *errorMessage) { - if(errorMessage) errlogPrintf("fatal error: %s\n",errorMessage); - else errlogPrintf("fatal error\n"); + if (errorMessage) + errlogPrintf("fatal error: %s\n",errorMessage); + else + errlogPrintf("fatal error, task suspended\n"); errlogFlush(); epicsThreadSleep(1.0); - epicsThreadSuspendSelf(); + while (1) + epicsThreadSuspendSelf(); }