Remove debugging dreck.

This commit is contained in:
W. Eric Norum
2003-05-02 16:23:17 +00:00
parent ea7a1c160e
commit fd56498f95

View File

@@ -281,7 +281,6 @@ static void * start_routine(void *arg)
(*pthreadInfo->createFunc)(pthreadInfo->createArg);
printf("Thread %s %d done\n", pthreadInfo->name, pthreadInfo->tid);
free_threadInfo(pthreadInfo);
return(0);
}
@@ -368,24 +367,46 @@ epicsThreadId epicsThreadCreate(const char *name,
return(pthreadInfo);
}
/*
* Cleanup routine for threads not created by epicsThreadCreate().
*/
static void nonEPICSthreadCleanup(void *arg)
{
epicsThreadOSD *pthreadInfo = (epicsThreadOSD *)arg;
free(pthreadInfo->name);
free(pthreadInfo);
}
/*
* Create dummy context for threads not created by epicsThreadCreate().
* To avoid memory leaks, a single structure is shared by all non-EPICS
* threads.
*/
static epicsThreadOSD *createImplicit(void)
{
static epicsThreadOSD *pthreadInfo;
epicsThreadOSD *pthreadInfo;
char name[64];
int tid;
int status;
status = pthread_mutex_lock(&listLock);
checkStatusQuit(status,"pthread_mutex_lock","createImplicit");
if (pthreadInfo == NULL) {
pthreadInfo = create_threadInfo("non-EPICS");
pthreadInfo->tid = -1;
tid = pthread_self();
sprintf(name, "non-EPICS_%d", tid);
pthreadInfo = create_threadInfo(name);
pthreadInfo->tid = tid;
pthreadInfo->osiPriority = 0;
#if defined (_POSIX_THREAD_PRIORITY_SCHEDULING)
{
struct sched_param param;
int policy;
int priority = 0;
if(pthread_getschedparam(tid,&policy,&param) == 0)
pthreadInfo->osiPriority =
(param.sched_priority - pcommonAttr->minPriority) * 100.0 /
(pcommonAttr->maxPriority - pcommonAttr->minPriority + 1);
}
status = pthread_mutex_unlock(&listLock);
checkStatusQuit(status,"pthread_mutex_unlock","createImplicit");
#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
status = pthread_setspecific(getpthreadInfo,(void *)pthreadInfo);
checkStatusQuit(status,"pthread_setspecific","createImplicit");
/* pthread_cleanup_push(nonEPICSthreadCleanup, pthreadInfo); */
return pthreadInfo;
}