Lines Matching refs:__mutex

469 __gthread_mutex_init_function (__gthread_mutex_t *__mutex)  in __gthread_mutex_init_function()  argument
471 __gthr_win32_mutex_init_function (__mutex); in __gthread_mutex_init_function()
475 __gthread_mutex_destroy (__gthread_mutex_t *__mutex) in __gthread_mutex_destroy() argument
477 __gthr_win32_mutex_destroy (__mutex); in __gthread_mutex_destroy()
481 __gthread_mutex_lock (__gthread_mutex_t *__mutex) in __gthread_mutex_lock() argument
484 return __gthr_win32_mutex_lock (__mutex); in __gthread_mutex_lock()
490 __gthread_mutex_trylock (__gthread_mutex_t *__mutex) in __gthread_mutex_trylock() argument
493 return __gthr_win32_mutex_trylock (__mutex); in __gthread_mutex_trylock()
499 __gthread_mutex_unlock (__gthread_mutex_t *__mutex) in __gthread_mutex_unlock() argument
502 return __gthr_win32_mutex_unlock (__mutex); in __gthread_mutex_unlock()
508 __gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_init_function() argument
510 __gthr_win32_recursive_mutex_init_function (__mutex); in __gthread_recursive_mutex_init_function()
514 __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_lock() argument
517 return __gthr_win32_recursive_mutex_lock (__mutex); in __gthread_recursive_mutex_lock()
523 __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_trylock() argument
526 return __gthr_win32_recursive_mutex_trylock (__mutex); in __gthread_recursive_mutex_trylock()
532 __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_unlock() argument
535 return __gthr_win32_recursive_mutex_unlock (__mutex); in __gthread_recursive_mutex_unlock()
541 __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_destroy() argument
543 return __gthr_win32_recursive_mutex_destroy (__mutex); in __gthread_recursive_mutex_destroy()
636 __gthread_mutex_init_function (__gthread_mutex_t *__mutex) in __gthread_mutex_init_function() argument
638 __mutex->counter = -1; in __gthread_mutex_init_function()
639 __mutex->sema = CreateSemaphoreW (NULL, 0, 65535, NULL); in __gthread_mutex_init_function()
643 __gthread_mutex_destroy (__gthread_mutex_t *__mutex) in __gthread_mutex_destroy() argument
645 CloseHandle ((HANDLE) __mutex->sema); in __gthread_mutex_destroy()
649 __gthread_mutex_lock (__gthread_mutex_t *__mutex) in __gthread_mutex_lock() argument
655 if (InterlockedIncrement (&__mutex->counter) == 0 || in __gthread_mutex_lock()
656 WaitForSingleObject (__mutex->sema, INFINITE) == WAIT_OBJECT_0) in __gthread_mutex_lock()
662 InterlockedDecrement (&__mutex->counter); in __gthread_mutex_lock()
670 __gthread_mutex_trylock (__gthread_mutex_t *__mutex) in __gthread_mutex_trylock() argument
676 if (__GTHR_W32_InterlockedCompareExchange (&__mutex->counter, 0, -1) < 0) in __gthread_mutex_trylock()
685 __gthread_mutex_unlock (__gthread_mutex_t *__mutex) in __gthread_mutex_unlock() argument
689 if (InterlockedDecrement (&__mutex->counter) >= 0) in __gthread_mutex_unlock()
690 return ReleaseSemaphore (__mutex->sema, 1, NULL) ? 0 : 1; in __gthread_mutex_unlock()
696 __gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_init_function() argument
698 __mutex->counter = -1; in __gthread_recursive_mutex_init_function()
699 __mutex->depth = 0; in __gthread_recursive_mutex_init_function()
700 __mutex->owner = 0; in __gthread_recursive_mutex_init_function()
701 __mutex->sema = CreateSemaphoreW (NULL, 0, 65535, NULL); in __gthread_recursive_mutex_init_function()
705 __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_lock() argument
710 if (InterlockedIncrement (&__mutex->counter) == 0) in __gthread_recursive_mutex_lock()
712 __mutex->depth = 1; in __gthread_recursive_mutex_lock()
713 __mutex->owner = __me; in __gthread_recursive_mutex_lock()
715 else if (__mutex->owner == __me) in __gthread_recursive_mutex_lock()
717 InterlockedDecrement (&__mutex->counter); in __gthread_recursive_mutex_lock()
718 ++(__mutex->depth); in __gthread_recursive_mutex_lock()
720 else if (WaitForSingleObject (__mutex->sema, INFINITE) == WAIT_OBJECT_0) in __gthread_recursive_mutex_lock()
722 __mutex->depth = 1; in __gthread_recursive_mutex_lock()
723 __mutex->owner = __me; in __gthread_recursive_mutex_lock()
729 InterlockedDecrement (&__mutex->counter); in __gthread_recursive_mutex_lock()
737 __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_trylock() argument
742 if (__GTHR_W32_InterlockedCompareExchange (&__mutex->counter, 0, -1) < 0) in __gthread_recursive_mutex_trylock()
744 __mutex->depth = 1; in __gthread_recursive_mutex_trylock()
745 __mutex->owner = __me; in __gthread_recursive_mutex_trylock()
747 else if (__mutex->owner == __me) in __gthread_recursive_mutex_trylock()
748 ++(__mutex->depth); in __gthread_recursive_mutex_trylock()
756 __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_unlock() argument
760 --(__mutex->depth); in __gthread_recursive_mutex_unlock()
761 if (__mutex->depth == 0) in __gthread_recursive_mutex_unlock()
763 __mutex->owner = 0; in __gthread_recursive_mutex_unlock()
765 if (InterlockedDecrement (&__mutex->counter) >= 0) in __gthread_recursive_mutex_unlock()
766 return ReleaseSemaphore (__mutex->sema, 1, NULL) ? 0 : 1; in __gthread_recursive_mutex_unlock()
773 __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) in __gthread_recursive_mutex_destroy() argument
775 CloseHandle ((HANDLE) __mutex->sema); in __gthread_recursive_mutex_destroy()