Home | History | Annotate | Download | only in epoc

Lines Matching full:sem

64     SDL_semaphore* sem = new /*(ELeave)*/ SDL_semaphore;  
65 sem->handle = s.Handle();
66 sem->count = initial_value;
67 return(sem);
71 void SDL_DestroySemaphore(SDL_sem *sem)
73 if ( sem )
76 sema.SetHandle(sem->handle);
79 delete sem;
80 sem = NULL;
108 void _WaitAll(SDL_sem *sem)
113 sema.SetHandle(sem->handle);
115 while(sem->count < 0)
121 int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
123 if ( ! sem ) {
124 SDL_SetError("Passed a NULL sem");
130 _WaitAll(sem);
137 TInfo* info = new (ELeave)TInfo(timeout, sem->handle);
146 _WaitAll(sem);
158 int SDL_SemTryWait(SDL_sem *sem)
160 if(sem->count > 0)
162 sem->count--;
167 int SDL_SemWait(SDL_sem *sem)
169 return SDL_SemWaitTimeout(sem, SDL_MUTEX_MAXWAIT);
173 Uint32 SDL_SemValue(SDL_sem *sem)
175 if ( ! sem ) {
176 SDL_SetError("Passed a NULL sem");
179 return sem->count;
182 int SDL_SemPost(SDL_sem *sem)
184 if ( ! sem ) {
185 SDL_SetError("Passed a NULL sem");
188 sem->count++;
190 sema.SetHandle(sem->handle);