Mercurial > sdl-ios-xcode
comparison src/thread/bsdi/SDL_syssem.c @ 1336:3692456e7b0f
Use SDL_ prefixed versions of C library functions.
FIXME:
Change #include <stdlib.h> to #include "SDL_stdlib.h"
Change #include <string.h> to #include "SDL_string.h"
Make sure nothing else broke because of this...
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 07 Feb 2006 06:59:48 +0000 |
parents | c9b51268668f |
children | 604d73db6802 |
comparison
equal
deleted
inserted
replaced
1335:c39265384763 | 1336:3692456e7b0f |
---|---|
111 }; | 111 }; |
112 | 112 |
113 /* Create a semaphore, initialized with value */ | 113 /* Create a semaphore, initialized with value */ |
114 SDL_sem *SDL_CreateSemaphore(Uint32 initial_value) | 114 SDL_sem *SDL_CreateSemaphore(Uint32 initial_value) |
115 { | 115 { |
116 SDL_sem *sem = (SDL_sem *) malloc(sizeof(SDL_sem)); | 116 SDL_sem *sem = (SDL_sem *) SDL_malloc(sizeof(SDL_sem)); |
117 if ( sem ) { | 117 if ( sem ) { |
118 if ( sem_init(&sem->sem_data, 0, initial_value) < 0 ) { | 118 if ( sem_init(&sem->sem_data, 0, initial_value) < 0 ) { |
119 SDL_SetError("sem_init() failed"); | 119 SDL_SetError("sem_init() failed"); |
120 free(sem); | 120 SDL_free(sem); |
121 sem = NULL; | 121 sem = NULL; |
122 } else { | 122 } else { |
123 sem->sem = &sem->sem_data; | 123 sem->sem = &sem->sem_data; |
124 } | 124 } |
125 } else { | 125 } else { |
130 | 130 |
131 void SDL_DestroySemaphore(SDL_sem *sem) | 131 void SDL_DestroySemaphore(SDL_sem *sem) |
132 { | 132 { |
133 if ( sem ) { | 133 if ( sem ) { |
134 sem_destroy(sem->sem); | 134 sem_destroy(sem->sem); |
135 free(sem); | 135 SDL_free(sem); |
136 } | 136 } |
137 } | 137 } |
138 | 138 |
139 int SDL_SemTryWait(SDL_sem *sem) | 139 int SDL_SemTryWait(SDL_sem *sem) |
140 { | 140 { |
320 errno = EINVAL; | 320 errno = EINVAL; |
321 retval = -1; | 321 retval = -1; |
322 goto RETURN; | 322 goto RETURN; |
323 } | 323 } |
324 | 324 |
325 *sem = (sem_t)malloc(sizeof(struct sem)); | 325 *sem = (sem_t)SDL_malloc(sizeof(struct sem)); |
326 if (*sem == NULL) { | 326 if (*sem == NULL) { |
327 errno = ENOSPC; | 327 errno = ENOSPC; |
328 retval = -1; | 328 retval = -1; |
329 goto RETURN; | 329 goto RETURN; |
330 } | 330 } |
331 | 331 |
332 /* | 332 /* |
333 * Initialize the semaphore. | 333 * Initialize the semaphore. |
334 */ | 334 */ |
335 if (pthread_mutex_init(&(*sem)->lock, NULL) != 0) { | 335 if (pthread_mutex_init(&(*sem)->lock, NULL) != 0) { |
336 free(*sem); | 336 SDL_free(*sem); |
337 errno = ENOSPC; | 337 errno = ENOSPC; |
338 retval = -1; | 338 retval = -1; |
339 goto RETURN; | 339 goto RETURN; |
340 } | 340 } |
341 | 341 |
342 if (pthread_cond_init(&(*sem)->gtzero, NULL) != 0) { | 342 if (pthread_cond_init(&(*sem)->gtzero, NULL) != 0) { |
343 pthread_mutex_destroy(&(*sem)->lock); | 343 pthread_mutex_destroy(&(*sem)->lock); |
344 free(*sem); | 344 SDL_free(*sem); |
345 errno = ENOSPC; | 345 errno = ENOSPC; |
346 retval = -1; | 346 retval = -1; |
347 goto RETURN; | 347 goto RETURN; |
348 } | 348 } |
349 | 349 |
375 | 375 |
376 pthread_mutex_destroy(&(*sem)->lock); | 376 pthread_mutex_destroy(&(*sem)->lock); |
377 pthread_cond_destroy(&(*sem)->gtzero); | 377 pthread_cond_destroy(&(*sem)->gtzero); |
378 (*sem)->magic = 0; | 378 (*sem)->magic = 0; |
379 | 379 |
380 free(*sem); | 380 SDL_free(*sem); |
381 | 381 |
382 retval = 0; | 382 retval = 0; |
383 RETURN: | 383 RETURN: |
384 return retval; | 384 return retval; |
385 } | 385 } |