all repos — mgba @ 0cc32d98fb2dee03f519fa59c059c55a2d9fbb5a

mGBA Game Boy Advance Emulator

src/util/threading.h (view raw)

 1/* Copyright (c) 2013-2015 Jeffrey Pfau
 2 *
 3 * This Source Code Form is subject to the terms of the Mozilla Public
 4 * License, v. 2.0. If a copy of the MPL was not distributed with this
 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 6#ifndef THREADING_H
 7#define THREADING_H
 8
 9#include "util/common.h"
10
11#ifndef DISABLE_THREADING
12#ifdef USE_PTHREADS
13#include "platform/posix/threading.h"
14#elif _WIN32
15#include "platform/windows/threading.h"
16#else
17#define DISABLE_THREADING
18#endif
19#endif
20#ifdef DISABLE_THREADING
21typedef void* Thread;
22typedef void* Mutex;
23typedef void* Condition;
24
25static inline int MutexInit(Mutex* mutex) {
26	UNUSED(mutex);
27	return 0;
28}
29
30static inline int MutexDeinit(Mutex* mutex) {
31	UNUSED(mutex);
32	return 0;
33}
34
35static inline int MutexLock(Mutex* mutex) {
36	UNUSED(mutex);
37	return 0;
38}
39
40static inline int MutexUnlock(Mutex* mutex) {
41	UNUSED(mutex);
42	return 0;
43}
44
45static inline int ConditionInit(Condition* cond) {
46	UNUSED(cond);
47	return 0;
48}
49
50static inline int ConditionDeinit(Condition* cond) {
51	UNUSED(cond);
52	return 0;
53}
54
55static inline int ConditionWait(Condition* cond, Mutex* mutex) {
56	UNUSED(cond);
57	UNUSED(mutex);
58	return 0;
59}
60
61static inline int ConditionWaitTimed(Condition* cond, Mutex* mutex, int32_t timeoutMs) {
62	UNUSED(cond);
63	UNUSED(mutex);
64	UNUSED(timeoutMs);
65	return 0;
66}
67
68static inline int ConditionWake(Condition* cond) {
69	UNUSED(cond);
70	return 0;
71}
72#endif
73
74#endif