Lines Matching refs:threadContext

43    M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
53 userData = threadContext->userData;
56 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
59 threadContext->state = M4OSA_kThreadRunning;
61 M4OSA_semaphorePost(threadContext->semStartStop);
63 while(threadContext->state == M4OSA_kThreadRunning)
65 M4OSA_mutexUnlock(threadContext->stateMutex);
67 if((threadContext->func(threadContext->param)) != M4NO_ERROR)
69 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
71 if(threadContext->state == M4OSA_kThreadRunning)
76 threadContext->state = M4OSA_kThreadOpened;
77 M4OSA_mutexUnlock(threadContext->stateMutex);
81 M4OSA_mutexUnlock(threadContext->stateMutex);
84 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
88 M4OSA_semaphorePost(threadContext->semStartStop);
91 M4OSA_mutexUnlock(threadContext->stateMutex);
124 M4OSA_ThreadContext* threadContext = M4OSA_NULL;
138 threadContext =
142 if(threadContext == M4OSA_NULL)
149 threadContext->func = func;
150 threadContext->stackSize = 64 * 1024;
151 threadContext->name = M4OSA_NULL;
152 threadContext->threadID = 0;
153 threadContext->coreID = M4OSA_THREAD;
154 threadContext->state = M4OSA_kThreadOpened;
155 threadContext->priority = M4OSA_kThreadNormalPriority ;
157 err_code = M4OSA_mutexOpen(&(threadContext->stateMutex));
166 err_code = M4OSA_semaphoreOpen(&(threadContext->semStartStop), 0);
175 *context = threadContext;
209 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
222 M4OSA_DEBUG_IF2(threadContext->coreID != M4OSA_THREAD,
225 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
227 if(threadContext->state != M4OSA_kThreadOpened)
229 M4OSA_mutexUnlock(threadContext->stateMutex);
236 threadContext->state = M4OSA_kThreadStarting;
238 M4OSA_mutexUnlock(threadContext->stateMutex);
239 threadContext->param = param;
245 if ( 0 == pthread_attr_setstacksize( &attribute, (size_t)threadContext->stackSize ) )
265 switch(threadContext->priority)
287 if ( 0 == pthread_create( &threadContext->threadID,
290 (void *)threadContext ) )
293 threadContext->semStartStop,
306 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
308 threadContext->state = M4OSA_kThreadOpened;
310 M4OSA_mutexUnlock(threadContext->stateMutex);
340 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
347 M4OSA_DEBUG_IF2(threadContext->coreID != M4OSA_THREAD,
350 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
352 if(threadContext->state != M4OSA_kThreadRunning)
354 M4OSA_mutexUnlock(threadContext->stateMutex);
361 threadContext->state = M4OSA_kThreadStopping;
363 M4OSA_mutexUnlock(threadContext->stateMutex);
365 M4OSA_semaphoreWait(threadContext->semStartStop, M4OSA_WAIT_FOREVER);
367 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
369 threadContext->state = M4OSA_kThreadOpened;
371 M4OSA_mutexUnlock(threadContext->stateMutex);
395 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
403 M4OSA_DEBUG_IF2(threadContext->coreID != M4OSA_THREAD,
406 M4OSA_DEBUG_IF2(threadContext->state == M4OSA_kThreadClosed,
409 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
411 if(threadContext->state != M4OSA_kThreadOpened)
413 M4OSA_mutexUnlock(threadContext->stateMutex);
420 threadContext->state = M4OSA_kThreadClosed;
422 M4OSA_mutexUnlock(threadContext->stateMutex);
424 err_code = M4OSA_mutexClose(threadContext->stateMutex);
433 err_code = M4OSA_semaphoreClose(threadContext->semStartStop);
442 if(threadContext->name != M4OSA_NULL)
444 free(threadContext->name);
447 free(threadContext);
470 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
481 M4OSA_DEBUG_IF2(threadContext->coreID != M4OSA_THREAD,
484 *state = threadContext->state;
520 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
532 threadContext->priority = priority;
547 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
554 if(threadContext->name != NULL)
556 free(threadContext->name);
557 threadContext->name = M4OSA_NULL;
564 threadContext->name =
568 if(threadContext == M4OSA_NULL)
573 memcpy((void *)threadContext->name, (void *)name,
588 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
593 threadContext->stackSize = (M4OSA_UInt32)optionValue;
624 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
637 M4OSA_DEBUG_IF2(threadContext->coreID != M4OSA_THREAD,
647 M4OSA_mutexLock(threadContext->stateMutex, M4OSA_WAIT_FOREVER);
649 if(threadContext->state != M4OSA_kThreadOpened)
651 M4OSA_mutexUnlock(threadContext->stateMutex);
696 M4OSA_mutexUnlock(threadContext->stateMutex);
728 M4OSA_ThreadContext* threadContext = (M4OSA_ThreadContext*)context;
743 M4OSA_DEBUG_IF2(threadContext->coreID != M4OSA_THREAD,
761 *priority = threadContext->priority;
772 *name = threadContext->name;
783 *stackSize = threadContext->stackSize;