Differences From Artifact [139fd47bbf]:
- File
src/threading.m
— part of check-in
[be99da0c09]
at
2014-10-04 19:24:47
on branch trunk
— threading: WinAPI's CriticalSection is recursive
No need to manually implement recursiveness for WinAPI. (user: js, size: 3123) [annotate] [blame] [check-ins using]
To Artifact [29688ac7bf]:
- File src/threading.m — part of check-in [258b45b81a] at 2014-12-07 18:19:46 on branch trunk — Fix compilation on Win32 (user: js, size: 3156) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
29 30 31 32 33 34 35 | #ifdef __HAIKU__ # include <kernel/OS.h> #endif bool of_rmutex_new(of_rmutex_t *rmutex) { | | > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #ifdef __HAIKU__ # include <kernel/OS.h> #endif bool of_rmutex_new(of_rmutex_t *rmutex) { #if defined(OF_HAVE_RECURSIVE_PTHREAD_MUTEXES) pthread_mutexattr_t attr; if (pthread_mutexattr_init(&attr) != 0) return false; if (pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) != 0) return false; if (pthread_mutex_init(rmutex, &attr) != 0) return false; if (pthread_mutexattr_destroy(&attr) != 0) return false; return true; #elif defined(_WIN32) return of_mutex_new(rmutex); #else if (!of_mutex_new(&rmutex->mutex)) return false; if (!of_tlskey_new(&rmutex->count)) return false; |
︙ | ︙ |