comparison src/thread/linux/SDL_syssem.c @ 1338:604d73db6802

Removed uses of stdlib.h and string.h
author Sam Lantinga <slouken@libsdl.org>
date Tue, 07 Feb 2006 09:29:18 +0000
parents 3692456e7b0f
children c71e05b4dc2e
comparison
equal deleted inserted replaced
1337:c687f06c7473 1338:604d73db6802
18 18
19 Sam Lantinga 19 Sam Lantinga
20 slouken@libsdl.org 20 slouken@libsdl.org
21 */ 21 */
22 22
23 #include <stdlib.h> 23 #include "SDL_stdlib.h"
24 #include "SDL_error.h" 24 #include "SDL_error.h"
25 #include "SDL_thread.h" 25 #include "SDL_thread.h"
26 #include "SDL_timer.h" 26 #include "SDL_timer.h"
27 27
28 #ifdef linux 28 #ifdef linux
44 44
45 #ifdef SDL_NO_PTHREAD_SEMAPHORES 45 #ifdef SDL_NO_PTHREAD_SEMAPHORES
46 #include "generic/SDL_syssem.c" 46 #include "generic/SDL_syssem.c"
47 #else 47 #else
48 48
49 #include <stdio.h>
50 #include <stdlib.h>
51 #include <unistd.h> /* For getpid() */
52 #include <pthread.h> 49 #include <pthread.h>
53 #include <semaphore.h> 50 #include <semaphore.h>
54 51
55 /* Wrapper around POSIX 1003.1b semaphores */ 52 /* Wrapper around POSIX 1003.1b semaphores */
56 53
72 if ( sem ) { 69 if ( sem ) {
73 #ifdef USE_NAMED_SEMAPHORES 70 #ifdef USE_NAMED_SEMAPHORES
74 static int semnum = 0; 71 static int semnum = 0;
75 char name[32]; 72 char name[32];
76 73
77 sprintf(name, "/SDL_sem-%d-%4.4d", getpid(), semnum++); 74 SDL_snprintf(name, SDL_arraysize(name), "/SDL_sem-%d-%4.4d", getpid(), semnum++);
78 sem->sem = sem_open(name, O_CREAT, 0600, initial_value); 75 sem->sem = sem_open(name, O_CREAT, 0600, initial_value);
79 if ( sem->sem == (sem_t *)SEM_FAILED ) { 76 if ( sem->sem == (sem_t *)SEM_FAILED ) {
80 SDL_SetError("sem_open(%s) failed", name); 77 SDL_SetError("sem_open(%s) failed", name);
81 SDL_free(sem); 78 SDL_free(sem);
82 sem = NULL; 79 sem = NULL;