diff src/thread/riscos/SDL_syssem.c @ 1895:c121d94672cb

SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 10 Jul 2006 21:04:37 +0000
parents 536b0704b7d8
children e27bdcc80744
line wrap: on
line diff
--- a/src/thread/riscos/SDL_syssem.c	Thu Jul 06 18:01:37 2006 +0000
+++ b/src/thread/riscos/SDL_syssem.c	Mon Jul 10 21:04:37 2006 +0000
@@ -19,9 +19,6 @@
     Sam Lantinga
     slouken@libsdl.org
 */
-
-#include <errno.h>
-
 #include "SDL_config.h"
 
 /* RISC OS semiphores based on linux code */
@@ -33,171 +30,188 @@
 
 #if !SDL_THREADS_DISABLED
 
-SDL_sem *SDL_CreateSemaphore(Uint32 initial_value)
+SDL_sem *
+SDL_CreateSemaphore(Uint32 initial_value)
 {
-	SDL_SetError("SDL not configured with thread support");
-	return (SDL_sem *)0;
+    SDL_SetError("SDL not configured with thread support");
+    return (SDL_sem *) 0;
 }
 
-void SDL_DestroySemaphore(SDL_sem *sem)
+void
+SDL_DestroySemaphore(SDL_sem * sem)
 {
-	return;
+    return;
 }
 
-int SDL_SemTryWait(SDL_sem *sem)
+int
+SDL_SemTryWait(SDL_sem * sem)
 {
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
+    SDL_SetError("SDL not configured with thread support");
+    return -1;
 }
 
-int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
+int
+SDL_SemWaitTimeout(SDL_sem * sem, Uint32 timeout)
 {
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
+    SDL_SetError("SDL not configured with thread support");
+    return -1;
 }
 
-int SDL_SemWait(SDL_sem *sem)
+int
+SDL_SemWait(SDL_sem * sem)
 {
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
+    SDL_SetError("SDL not configured with thread support");
+    return -1;
 }
 
-Uint32 SDL_SemValue(SDL_sem *sem)
+Uint32
+SDL_SemValue(SDL_sem * sem)
 {
-	return 0;
+    return 0;
 }
 
-int SDL_SemPost(SDL_sem *sem)
+int
+SDL_SemPost(SDL_sem * sem)
 {
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
+    SDL_SetError("SDL not configured with thread support");
+    return -1;
 }
 
 #else
 
 
-#include <unistd.h>			/* For getpid() */
+#include <unistd.h>             /* For getpid() */
 #include <pthread.h>
 #include <semaphore.h>
 
-struct SDL_semaphore {
-	sem_t *sem;
-	sem_t sem_data;
+struct SDL_semaphore
+{
+    sem_t *sem;
+    sem_t sem_data;
 };
 
 /* Create a semaphore, initialized with value */
-SDL_sem *SDL_CreateSemaphore(Uint32 initial_value)
+SDL_sem *
+SDL_CreateSemaphore(Uint32 initial_value)
 {
-	SDL_sem *sem = (SDL_sem *) SDL_malloc(sizeof(SDL_sem));
-	if ( sem ) {
-		if ( sem_init(&sem->sem_data, 0, initial_value) < 0 ) {
-			SDL_SetError("sem_init() failed");
-			SDL_free(sem);
-			sem = NULL;
-		} else {
-			sem->sem = &sem->sem_data;
-		}
-	} else {
-		SDL_OutOfMemory();
-	}
-	return sem;
+    SDL_sem *sem = (SDL_sem *) SDL_malloc(sizeof(SDL_sem));
+    if (sem) {
+        if (sem_init(&sem->sem_data, 0, initial_value) < 0) {
+            SDL_SetError("sem_init() failed");
+            SDL_free(sem);
+            sem = NULL;
+        } else {
+            sem->sem = &sem->sem_data;
+        }
+    } else {
+        SDL_OutOfMemory();
+    }
+    return sem;
 }
 
-void SDL_DestroySemaphore(SDL_sem *sem)
+void
+SDL_DestroySemaphore(SDL_sem * sem)
 {
-	if ( sem ) {
-		sem_destroy(sem->sem);
-		SDL_free(sem);
-	}
+    if (sem) {
+        sem_destroy(sem->sem);
+        SDL_free(sem);
+    }
 }
 
-int SDL_SemTryWait(SDL_sem *sem)
+int
+SDL_SemTryWait(SDL_sem * sem)
 {
-	int retval;
+    int retval;
 
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
-	retval = SDL_MUTEX_TIMEDOUT;
-	if ( sem_trywait(sem->sem) == 0 ) {
-		retval = 0;
-	}
-	return retval;
+    if (!sem) {
+        SDL_SetError("Passed a NULL semaphore");
+        return -1;
+    }
+    retval = SDL_MUTEX_TIMEDOUT;
+    if (sem_trywait(sem->sem) == 0) {
+        retval = 0;
+    }
+    return retval;
 }
 
-int SDL_SemWait(SDL_sem *sem)
+int
+SDL_SemWait(SDL_sem * sem)
 {
-	int retval;
+    int retval;
 
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
+    if (!sem) {
+        SDL_SetError("Passed a NULL semaphore");
+        return -1;
+    }
 
-	while ( ((retval = sem_wait(sem->sem)) == -1) && (errno == EINTR) ) {}
-	if ( retval < 0 ) {
-		SDL_SetError("sem_wait() failed");
-	}
-	return retval;
+    retval = sem_wait(sem->sem);
+    if (retval < 0) {
+        SDL_SetError("sem_wait() failed");
+    }
+    return retval;
 }
 
-int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
+int
+SDL_SemWaitTimeout(SDL_sem * sem, Uint32 timeout)
 {
-	int retval;
+    int retval;
 
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
+    if (!sem) {
+        SDL_SetError("Passed a NULL semaphore");
+        return -1;
+    }
 
-	/* Try the easy cases first */
-	if ( timeout == 0 ) {
-		return SDL_SemTryWait(sem);
-	}
-	if ( timeout == SDL_MUTEX_MAXWAIT ) {
-		return SDL_SemWait(sem);
-	}
+    /* Try the easy cases first */
+    if (timeout == 0) {
+        return SDL_SemTryWait(sem);
+    }
+    if (timeout == SDL_MUTEX_MAXWAIT) {
+        return SDL_SemWait(sem);
+    }
 
-	/* Ack!  We have to busy wait... */
-	timeout += SDL_GetTicks();
-	do {
-		retval = SDL_SemTryWait(sem);
-		if ( retval == 0 ) {
-			break;
-		}
-		SDL_Delay(1);
-	} while ( SDL_GetTicks() < timeout );
+    /* Ack!  We have to busy wait... */
+    timeout += SDL_GetTicks();
+    do {
+        retval = SDL_SemTryWait(sem);
+        if (retval == 0) {
+            break;
+        }
+        SDL_Delay(1);
+    }
+    while (SDL_GetTicks() < timeout);
 
-	return retval;
+    return retval;
 }
 
-Uint32 SDL_SemValue(SDL_sem *sem)
+Uint32
+SDL_SemValue(SDL_sem * sem)
 {
-	int ret = 0;
-	if ( sem ) {
-		sem_getvalue(sem->sem, &ret);
-		if ( ret < 0 ) {
-			ret = 0;
-		}
-	}
-	return (Uint32)ret;
+    int ret = 0;
+    if (sem) {
+        sem_getvalue(sem->sem, &ret);
+        if (ret < 0) {
+            ret = 0;
+        }
+    }
+    return (Uint32) ret;
 }
 
-int SDL_SemPost(SDL_sem *sem)
+int
+SDL_SemPost(SDL_sem * sem)
 {
-	int retval;
+    int retval;
 
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
+    if (!sem) {
+        SDL_SetError("Passed a NULL semaphore");
+        return -1;
+    }
 
-	retval = sem_post(sem->sem);
-	if ( retval < 0 ) {
-		SDL_SetError("sem_post() failed");
-	}
-	return retval;
+    retval = sem_post(sem->sem);
+    if (retval < 0) {
+        SDL_SetError("sem_post() failed");
+    }
+    return retval;
 }
 
 #endif /* !SDL_THREADS_DISABLED */
+/* vi: set ts=4 sw=4 expandtab: */