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 }