From 40f225ce87461ff29c982d537fc37682d9ef82af Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Wed, 16 Nov 2005 14:12:43 +0000 Subject: [PATCH] add test for epicsThreadSetPriority --- src/libCom/test/epicsThreadTest.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/libCom/test/epicsThreadTest.cpp b/src/libCom/test/epicsThreadTest.cpp index e8bf994d1..bbe59eaf2 100644 --- a/src/libCom/test/epicsThreadTest.cpp +++ b/src/libCom/test/epicsThreadTest.cpp @@ -26,6 +26,33 @@ #include "epicsTime.h" #include "errlog.h" +static void testPriority(const char *who) +{ + epicsThreadId id; + unsigned int oldPriority,newPriority; + + id = epicsThreadGetIdSelf(); + oldPriority = epicsThreadGetPriority(id); + epicsThreadSetPriority(id,epicsThreadPriorityMax); + newPriority = epicsThreadGetPriority(id); + epicsThreadSetPriority(id,oldPriority); + printf("testPriority %s\n id %p old %u new %u\n", + who,id,oldPriority,newPriority); +} + +extern "C" void testPriorityThread(void *arg) +{ + testPriority("thread"); +} + +static void epicsThreadPriorityTest() +{ + testPriority("main error expected from epicsThreadSetPriority"); + epicsThreadCreate("testPriorityThread",epicsThreadPriorityMedium, + epicsThreadGetStackSize(epicsThreadStackMedium),testPriorityThread,0); + epicsThreadSleep(0.5); +} + static epicsThreadPrivate privateKey; class myThread: public epicsThreadRunable { @@ -182,6 +209,7 @@ extern "C" void threadTest(int ntasks,int verbose) int startPriority,minPriority,maxPriority; int errVerboseSave = errVerbose; + epicsThreadPriorityTest(); epicsThreadGetIdSelfPerfTest (); threadSleepTest();