Differences From Artifact [13c9aec71c]:
- File src/runtime/threading.m — part of check-in [374e1a1bfa] at 2021-01-02 22:04:26 on branch trunk — Update copyright (user: js, size: 1143) [annotate] [blame] [check-ins using] [more...]
To Artifact [04a725fac0]:
- File
src/runtime/threading.m
— part of check-in
[dfd52d5220]
at
2021-04-17 16:24:13
on branch new-naming-convention
— of_mutex_t -> OFPlainMutex
Also rename of_rmutex_t -> OFPlainRecursiveMutex. (user: js, size: 1197) [annotate] [blame] [check-ins using]
| ︙ | ︙ | |||
19 20 21 22 23 24 25 | #include <stdlib.h> #import "ObjFWRT.h" #import "private.h" #import "mutex.h" #import "once.h" | | | | | | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#include <stdlib.h>
#import "ObjFWRT.h"
#import "private.h"
#import "mutex.h"
#import "once.h"
static OFPlainRecursiveMutex globalMutex;
static void
init(void)
{
if (OFPlainRecursiveMutexNew(&globalMutex) != 0)
OBJC_ERROR("Failed to create global mutex!");
}
void
objc_global_mutex_lock(void)
{
static OFOnceControl onceControl = OFOnceControlInitValue;
OFOnce(&onceControl, init);
if (OFPlainRecursiveMutexLock(&globalMutex) != 0)
OBJC_ERROR("Failed to lock global mutex!");
}
void
objc_global_mutex_unlock(void)
{
if (OFPlainRecursiveMutexUnlock(&globalMutex) != 0)
OBJC_ERROR("Failed to unlock global mutex!");
}
|