Differences From Artifact [33e65b6da7]:
- File
src/platform/windows/condition.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: 2594) [annotate] [blame] [check-ins using]
To Artifact [5e19c9c3c0]:
- File src/platform/windows/condition.m — part of check-in [20bfedd0b7] at 2021-04-17 16:36:00 on branch new-naming-convention — of_condition_t -> OFPlainCondition (user: js, size: 2623) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
18 19 20 21 22 23 24 | #include <errno.h> #import "condition.h" #include <windows.h> int | | | | | | 18 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <errno.h> #import "condition.h" #include <windows.h> int OFPlainConditionNew(OFPlainCondition *condition) { condition->count = 0; if ((condition->event = CreateEvent(NULL, FALSE, 0, NULL)) == NULL) return EAGAIN; return 0; } int OFPlainConditionSignal(OFPlainCondition *condition) { if (!SetEvent(condition->event)) { switch (GetLastError()) { case ERROR_INVALID_HANDLE: return EINVAL; default: OF_ENSURE(0); } } return 0; } int OFPlainConditionBroadcast(OFPlainCondition *condition) { int count = condition->count; for (int i = 0; i < count; i++) { if (!SetEvent(condition->event)) { switch (GetLastError()) { case ERROR_INVALID_HANDLE: return EINVAL; default: OF_ENSURE(0); } } } return 0; } int OFPlainConditionWait(OFPlainCondition *condition, OFPlainMutex *mutex) { int error; DWORD status; if ((error = OFPlainMutexUnlock(mutex)) != 0) return error; |
︙ | ︙ | |||
91 92 93 94 95 96 97 | } default: OF_ENSURE(0); } } int | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | } default: OF_ENSURE(0); } } int OFPlainConditionTimedWait(OFPlainCondition *condition, OFPlainMutex *mutex, OFTimeInterval timeout) { int error; DWORD status; if ((error = OFPlainMutexUnlock(mutex)) != 0) return error; |
︙ | ︙ | |||
122 123 124 125 126 127 128 | } default: OF_ENSURE(0); } } int | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | } default: OF_ENSURE(0); } } int OFPlainConditionFree(OFPlainCondition *condition) { if (condition->count != 0) return EBUSY; return (CloseHandle(condition->event) ? 0 : EINVAL); } |