From ea27976241eb6904abcc0539313839c91169d9de Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Thu, 3 Feb 2000 21:56:33 +0000 Subject: [PATCH] latest version of osiThread --- src/libCom/error/errlog.c | 2 +- src/libCom/test/semBinaryTest.c | 26 +++++++++++++------------- src/libCom/test/threadTest.c | 16 ++++++++-------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/libCom/error/errlog.c b/src/libCom/error/errlog.c index 5a083f358..33d595fd9 100644 --- a/src/libCom/error/errlog.c +++ b/src/libCom/error/errlog.c @@ -328,7 +328,6 @@ LOCAL void errlogTask(void) while(TRUE) { char *pmessage; - semBinaryMustTake(pvtData.errlogTaskWaitForWork); while((pmessage = msgbufGetSend())) { semMutexMustTake(pvtData.listenerLock); if(pvtData.toConsole) printf("%s",pmessage); @@ -340,6 +339,7 @@ LOCAL void errlogTask(void) semMutexGive(pvtData.listenerLock); msgbufFreeSend(); } + semBinaryMustTake(pvtData.errlogTaskWaitForWork); } } diff --git a/src/libCom/test/semBinaryTest.c b/src/libCom/test/semBinaryTest.c index faa6ee919..8ce751d34 100644 --- a/src/libCom/test/semBinaryTest.c +++ b/src/libCom/test/semBinaryTest.c @@ -31,22 +31,22 @@ static void binaryThread(void *arg) { info *pinfo = (info *)arg; time_t tp; - printf("binaryThread %d starting time %d\n",pinfo->threadnum,time(&tp)); + printf("binaryThread %d starting time %ld\n",pinfo->threadnum,time(&tp)); threadSleep(1.0); while(1) { semTakeStatus status; if(pinfo->quit) { - printf("binaryThread %d returning time %d\n", + printf("binaryThread %d returning time %ld\n", pinfo->threadnum,time(&tp)); semBinaryGive(pinfo->binary); return; } status = semBinaryTake(pinfo->binary); if(status!=semTakeOK) { - printf("task %d semBinaryTake returned %d time %d\n", + printf("task %d semBinaryTake returned %d time %ld\n", pinfo->threadnum,(int)status,time(&tp)); } - printf("binaryThread %d semBinaryTake time %d\n", + printf("binaryThread %d semBinaryTake time %ld\n", pinfo->threadnum,time(&tp)); semBinaryGive(pinfo->binary); threadSleep(1.0); @@ -68,20 +68,20 @@ void semBinaryTest(int nthreads,int verbose) errVerbose = verbose; binary = semBinaryMustCreate(semEmpty); - printf("calling semBinaryTakeTimeout(binary,2.0) time %d\n",time(&tp)); + printf("calling semBinaryTakeTimeout(binary,2.0) time %ld\n",time(&tp)); status = semBinaryTakeTimeout(binary,2.0); if(status!=semTakeTimeout) printf("status %d\n",status); - printf("calling semBinaryTakeNoWait(binary) time %d\n",time(&tp)); + printf("calling semBinaryTakeNoWait(binary) time %ld\n",time(&tp)); status = semBinaryTakeNoWait(binary); if(status!=semTakeTimeout) printf("status %d\n",status); - printf("calling semBinaryGive() time %d\n",time(&tp)); + printf("calling semBinaryGive() time %ld\n",time(&tp)); semBinaryGive(binary); - printf("calling semBinaryTakeTimeout(binary,2.0) time %d\n",time(&tp)); + printf("calling semBinaryTakeTimeout(binary,2.0) time %ld\n",time(&tp)); status = semBinaryTakeTimeout(binary,2.0); if(status) printf("status %d\n",status); - printf("calling semBinaryGive() time %d\n",time(&tp)); + printf("calling semBinaryGive() time %ld\n",time(&tp)); semBinaryGive(binary); - printf("calling semBinaryTakeNoWait(binary) time %d\n",time(&tp)); + printf("calling semBinaryTakeNoWait(binary) time %ld\n",time(&tp)); status = semBinaryTakeNoWait(binary); if(status) printf("status %d\n",status); @@ -102,14 +102,14 @@ void semBinaryTest(int nthreads,int verbose) pinfo[i]->binary = binary; arg[i] = pinfo[i]; id[i] = threadCreate(name[i],40,stackSize,binaryThread,arg[i]); - printf("semTest created binaryThread %d id %p time %d\n", + printf("semTest created binaryThread %d id %p time %ld\n", i, id[i],time(&tp)); } threadSleep(2.0); - printf("semTest calling semBinaryGive(binary) time %d\n",time(&tp)); + printf("semTest calling semBinaryGive(binary) time %ld\n",time(&tp)); semBinaryGive(binary); threadSleep(5.0); - printf("semTest setting quit time %d\n",time(&tp)); + printf("semTest setting quit time %ld\n",time(&tp)); for(i=0; iquit = 1; } diff --git a/src/libCom/test/threadTest.c b/src/libCom/test/threadTest.c index df30fca8d..ae4701a99 100644 --- a/src/libCom/test/threadTest.c +++ b/src/libCom/test/threadTest.c @@ -24,9 +24,9 @@ of this distribution. static void threadFunc(void *arg) { int argvalue = *(int *)arg; - printf("threadFunc %d starting\n",argvalue); + errlogPrintf("threadFunc %d starting\n",argvalue); threadSleep(2.0); - printf("threadFunc %d stopping\n",argvalue); + errlogPrintf("threadFunc %d stopping\n",argvalue); } void threadTest(int ntasks,int verbose) @@ -39,14 +39,14 @@ void threadTest(int ntasks,int verbose) int startPriority,minPriority,maxPriority; int errVerboseSave = errVerbose; -printf("threadTest ntasks %d verbose %d\n",ntasks,verbose); errVerbose = verbose; + errlogInit(4096); id = calloc(ntasks,sizeof(threadId *)); name = calloc(ntasks,sizeof(char **)); arg = calloc(ntasks,sizeof(void *)); - printf("threadTest starting\n"); + errlogPrintf("threadTest starting\n"); stackSize = threadGetStackSize(threadStackSmall); - printf("stackSize %u\n",stackSize); + errlogPrintf("stackSize %u\n",stackSize); for(i=0; i