elevated priority of CAC timer event thread

This commit is contained in:
Jeff Hill
2000-06-16 20:00:06 +00:00
parent 7efef48a21
commit 5313404121
6 changed files with 54 additions and 25 deletions

View File

@@ -45,6 +45,7 @@ cac::cac () :
{
long status;
static threadOnceId once = OSITHREAD_ONCE_INIT;
unsigned abovePriority;
threadOnce ( &once, cacInitRecursionLock, 0);
@@ -56,6 +57,21 @@ cac::cac () :
throwWithLocation ( caErrorCode (ECA_INTERNAL) );
}
{
threadBoolStatus tbs;
unsigned selfPriority = threadGetPrioritySelf ();
tbs = threadLowestPriorityLevelAbove ( selfPriority, &abovePriority);
if ( tbs != tbsSuccess ) {
abovePriority = selfPriority;
}
}
this->pTimerQueue = new osiTimerQueue ( abovePriority );
if ( ! this->pTimerQueue ) {
throwWithLocation ( caErrorCode (ECA_ALLOCMEM) );
}
ellInit (&this->ca_taskVarList);
ellInit (&this->putCvrtBuf);
ellInit (&this->fdInfoFreeList);
@@ -230,6 +246,8 @@ cac::~cac ()
semMutexDestroy (this->ca_client_lock);
osiSockRelease ();
delete this->pTimerQueue;
}
void cac::safeDestroyNMIU (unsigned id)