comparison include/SDL_mutex.h @ 1668:4da1ee79c9af SDL-1.3

more tweaking indent options
author Sam Lantinga <slouken@libsdl.org>
date Mon, 29 May 2006 04:04:35 +0000
parents 782fd950bd46
children
comparison
equal deleted inserted replaced
1667:1fddae038bc8 1668:4da1ee79c9af
56 /* The SDL mutex structure, defined in SDL_mutex.c */ 56 /* The SDL mutex structure, defined in SDL_mutex.c */
57 struct SDL_mutex; 57 struct SDL_mutex;
58 typedef struct SDL_mutex SDL_mutex; 58 typedef struct SDL_mutex SDL_mutex;
59 59
60 /* Create a mutex, initialized unlocked */ 60 /* Create a mutex, initialized unlocked */
61 extern DECLSPEC SDL_mutex *SDLCALL SDL_CreateMutex (void); 61 extern DECLSPEC SDL_mutex *SDLCALL SDL_CreateMutex(void);
62 62
63 /* Lock the mutex (Returns 0, or -1 on error) */ 63 /* Lock the mutex (Returns 0, or -1 on error) */
64 #define SDL_LockMutex(m) SDL_mutexP(m) 64 #define SDL_LockMutex(m) SDL_mutexP(m)
65 extern DECLSPEC int SDLCALL SDL_mutexP (SDL_mutex * mutex); 65 extern DECLSPEC int SDLCALL SDL_mutexP(SDL_mutex * mutex);
66 66
67 /* Unlock the mutex (Returns 0, or -1 on error) 67 /* Unlock the mutex (Returns 0, or -1 on error)
68 It is an error to unlock a mutex that has not been locked by 68 It is an error to unlock a mutex that has not been locked by
69 the current thread, and doing so results in undefined behavior. 69 the current thread, and doing so results in undefined behavior.
70 */ 70 */
71 #define SDL_UnlockMutex(m) SDL_mutexV(m) 71 #define SDL_UnlockMutex(m) SDL_mutexV(m)
72 extern DECLSPEC int SDLCALL SDL_mutexV (SDL_mutex * mutex); 72 extern DECLSPEC int SDLCALL SDL_mutexV(SDL_mutex * mutex);
73 73
74 /* Destroy a mutex */ 74 /* Destroy a mutex */
75 extern DECLSPEC void SDLCALL SDL_DestroyMutex (SDL_mutex * mutex); 75 extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex * mutex);
76 76
77 77
78 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
79 /* Semaphore functions */ 79 /* Semaphore functions */
80 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 80 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
82 /* The SDL semaphore structure, defined in SDL_sem.c */ 82 /* The SDL semaphore structure, defined in SDL_sem.c */
83 struct SDL_semaphore; 83 struct SDL_semaphore;
84 typedef struct SDL_semaphore SDL_sem; 84 typedef struct SDL_semaphore SDL_sem;
85 85
86 /* Create a semaphore, initialized with value, returns NULL on failure. */ 86 /* Create a semaphore, initialized with value, returns NULL on failure. */
87 extern DECLSPEC SDL_sem *SDLCALL SDL_CreateSemaphore (Uint32 initial_value); 87 extern DECLSPEC SDL_sem *SDLCALL SDL_CreateSemaphore(Uint32 initial_value);
88 88
89 /* Destroy a semaphore */ 89 /* Destroy a semaphore */
90 extern DECLSPEC void SDLCALL SDL_DestroySemaphore (SDL_sem * sem); 90 extern DECLSPEC void SDLCALL SDL_DestroySemaphore(SDL_sem * sem);
91 91
92 /* This function suspends the calling thread until the semaphore pointed 92 /* This function suspends the calling thread until the semaphore pointed
93 * to by sem has a positive count. It then atomically decreases the semaphore 93 * to by sem has a positive count. It then atomically decreases the semaphore
94 * count. 94 * count.
95 */ 95 */
96 extern DECLSPEC int SDLCALL SDL_SemWait (SDL_sem * sem); 96 extern DECLSPEC int SDLCALL SDL_SemWait(SDL_sem * sem);
97 97
98 /* Non-blocking variant of SDL_SemWait(), returns 0 if the wait succeeds, 98 /* Non-blocking variant of SDL_SemWait(), returns 0 if the wait succeeds,
99 SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error. 99 SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error.
100 */ 100 */
101 extern DECLSPEC int SDLCALL SDL_SemTryWait (SDL_sem * sem); 101 extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem);
102 102
103 /* Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if 103 /* Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
104 the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in 104 the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
105 the allotted time, and -1 on error. 105 the allotted time, and -1 on error.
106 On some platforms this function is implemented by looping with a delay 106 On some platforms this function is implemented by looping with a delay
107 of 1 ms, and so should be avoided if possible. 107 of 1 ms, and so should be avoided if possible.
108 */ 108 */
109 extern DECLSPEC int SDLCALL SDL_SemWaitTimeout (SDL_sem * sem, Uint32 ms); 109 extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem * sem, Uint32 ms);
110 110
111 /* Atomically increases the semaphore's count (not blocking), returns 0, 111 /* Atomically increases the semaphore's count (not blocking), returns 0,
112 or -1 on error. 112 or -1 on error.
113 */ 113 */
114 extern DECLSPEC int SDLCALL SDL_SemPost (SDL_sem * sem); 114 extern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem * sem);
115 115
116 /* Returns the current count of the semaphore */ 116 /* Returns the current count of the semaphore */
117 extern DECLSPEC Uint32 SDLCALL SDL_SemValue (SDL_sem * sem); 117 extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem * sem);
118 118
119 119
120 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 120 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
121 /* Condition variable functions */ 121 /* Condition variable functions */
122 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 122 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
124 /* The SDL condition variable structure, defined in SDL_cond.c */ 124 /* The SDL condition variable structure, defined in SDL_cond.c */
125 struct SDL_cond; 125 struct SDL_cond;
126 typedef struct SDL_cond SDL_cond; 126 typedef struct SDL_cond SDL_cond;
127 127
128 /* Create a condition variable */ 128 /* Create a condition variable */
129 extern DECLSPEC SDL_cond *SDLCALL SDL_CreateCond (void); 129 extern DECLSPEC SDL_cond *SDLCALL SDL_CreateCond(void);
130 130
131 /* Destroy a condition variable */ 131 /* Destroy a condition variable */
132 extern DECLSPEC void SDLCALL SDL_DestroyCond (SDL_cond * cond); 132 extern DECLSPEC void SDLCALL SDL_DestroyCond(SDL_cond * cond);
133 133
134 /* Restart one of the threads that are waiting on the condition variable, 134 /* Restart one of the threads that are waiting on the condition variable,
135 returns 0 or -1 on error. 135 returns 0 or -1 on error.
136 */ 136 */
137 extern DECLSPEC int SDLCALL SDL_CondSignal (SDL_cond * cond); 137 extern DECLSPEC int SDLCALL SDL_CondSignal(SDL_cond * cond);
138 138
139 /* Restart all threads that are waiting on the condition variable, 139 /* Restart all threads that are waiting on the condition variable,
140 returns 0 or -1 on error. 140 returns 0 or -1 on error.
141 */ 141 */
142 extern DECLSPEC int SDLCALL SDL_CondBroadcast (SDL_cond * cond); 142 extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond * cond);
143 143
144 /* Wait on the condition variable, unlocking the provided mutex. 144 /* Wait on the condition variable, unlocking the provided mutex.
145 The mutex must be locked before entering this function! 145 The mutex must be locked before entering this function!
146 The mutex is re-locked once the condition variable is signaled. 146 The mutex is re-locked once the condition variable is signaled.
147 Returns 0 when it is signaled, or -1 on error. 147 Returns 0 when it is signaled, or -1 on error.
148 */ 148 */
149 extern DECLSPEC int SDLCALL SDL_CondWait (SDL_cond * cond, SDL_mutex * mut); 149 extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond * cond, SDL_mutex * mut);
150 150
151 /* Waits for at most 'ms' milliseconds, and returns 0 if the condition 151 /* Waits for at most 'ms' milliseconds, and returns 0 if the condition
152 variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not 152 variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
153 signaled in the allotted time, and -1 on error. 153 signaled in the allotted time, and -1 on error.
154 On some platforms this function is implemented by looping with a delay 154 On some platforms this function is implemented by looping with a delay
155 of 1 ms, and so should be avoided if possible. 155 of 1 ms, and so should be avoided if possible.
156 */ 156 */
157 extern DECLSPEC int SDLCALL SDL_CondWaitTimeout (SDL_cond * cond, 157 extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond * cond,
158 SDL_mutex * mutex, 158 SDL_mutex * mutex, Uint32 ms);
159 Uint32 ms);
160 159
161 /* Ends C function definitions when using C++ */ 160 /* Ends C function definitions when using C++ */
162 #ifdef __cplusplus 161 #ifdef __cplusplus
163 /* *INDENT-OFF* */ 162 /* *INDENT-OFF* */
164 } 163 }