diff src/thread/pthread/SDL_systhread.c @ 1662:782fd950bd46 SDL-1.3

Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API. WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid. The code is now run through a consistent indent format: indent -i4 -nut -nsc -br -ce The headers are being converted to automatically generate doxygen documentation.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 28 May 2006 13:04:16 +0000
parents 1e8582152d44
children 4da1ee79c9af
line wrap: on
line diff
--- a/src/thread/pthread/SDL_systhread.c	Sun May 21 17:27:13 2006 +0000
+++ b/src/thread/pthread/SDL_systhread.c	Sun May 28 13:04:16 2006 +0000
@@ -30,91 +30,99 @@
 
 /* List of signals to mask in the subthreads */
 static int sig_list[] = {
-	SIGHUP, SIGINT, SIGQUIT, SIGPIPE, SIGALRM, SIGTERM, SIGCHLD, SIGWINCH,
-	SIGVTALRM, SIGPROF, 0
+    SIGHUP, SIGINT, SIGQUIT, SIGPIPE, SIGALRM, SIGTERM, SIGCHLD, SIGWINCH,
+    SIGVTALRM, SIGPROF, 0
 };
 
 #ifdef __RISCOS__
 /* RISC OS needs to know the main thread for
  * it's timer and event processing. */
 int riscos_using_threads = 0;
-Uint32 riscos_main_thread = 0; /* Thread running events */
+Uint32 riscos_main_thread = 0;  /* Thread running events */
 #endif
- 
+
 
-static void *RunThread(void *data)
+static void *
+RunThread (void *data)
 {
-	SDL_RunThread(data);
-	pthread_exit((void*)0);
-	return((void *)0);		/* Prevent compiler warning */
+    SDL_RunThread (data);
+    pthread_exit ((void *) 0);
+    return ((void *) 0);        /* Prevent compiler warning */
 }
 
-int SDL_SYS_CreateThread(SDL_Thread *thread, void *args)
+int
+SDL_SYS_CreateThread (SDL_Thread * thread, void *args)
 {
-	pthread_attr_t type;
-
-	/* Set the thread attributes */
-	if ( pthread_attr_init(&type) != 0 ) {
-		SDL_SetError("Couldn't initialize pthread attributes");
-		return(-1);
-	}
-	pthread_attr_setdetachstate(&type, PTHREAD_CREATE_JOINABLE);
+    pthread_attr_t type;
 
-	/* Create the thread and go! */
-	if ( pthread_create(&thread->handle, &type, RunThread, args) != 0 ) {
-		SDL_SetError("Not enough resources to create thread");
-		return(-1);
-	}
+    /* Set the thread attributes */
+    if (pthread_attr_init (&type) != 0) {
+        SDL_SetError ("Couldn't initialize pthread attributes");
+        return (-1);
+    }
+    pthread_attr_setdetachstate (&type, PTHREAD_CREATE_JOINABLE);
 
+    /* Create the thread and go! */
+    if (pthread_create (&thread->handle, &type, RunThread, args) != 0) {
+        SDL_SetError ("Not enough resources to create thread");
+        return (-1);
+    }
 #ifdef __RISCOS__
-	if (riscos_using_threads == 0) {
-		riscos_using_threads = 1;
-		riscos_main_thread = SDL_ThreadID();
-	}
+    if (riscos_using_threads == 0) {
+        riscos_using_threads = 1;
+        riscos_main_thread = SDL_ThreadID ();
+    }
 #endif
 
-	return(0);
+    return (0);
 }
 
-void SDL_SYS_SetupThread(void)
+void
+SDL_SYS_SetupThread (void)
 {
-	int i;
-	sigset_t mask;
+    int i;
+    sigset_t mask;
 
-	/* Mask asynchronous signals for this thread */
-	sigemptyset(&mask);
-	for ( i=0; sig_list[i]; ++i ) {
-		sigaddset(&mask, sig_list[i]);
-	}
-	pthread_sigmask(SIG_BLOCK, &mask, 0);
+    /* Mask asynchronous signals for this thread */
+    sigemptyset (&mask);
+    for (i = 0; sig_list[i]; ++i) {
+        sigaddset (&mask, sig_list[i]);
+    }
+    pthread_sigmask (SIG_BLOCK, &mask, 0);
 
 #ifdef PTHREAD_CANCEL_ASYNCHRONOUS
-	/* Allow ourselves to be asynchronously cancelled */
-	{ int oldstate;
-		pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
-	}
+    /* Allow ourselves to be asynchronously cancelled */
+    {
+        int oldstate;
+        pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
+    }
 #endif
 }
 
 /* WARNING:  This may not work for systems with 64-bit pid_t */
-Uint32 SDL_ThreadID(void)
+Uint32
+SDL_ThreadID (void)
 {
-	return((Uint32)pthread_self());
+    return ((Uint32) pthread_self ());
 }
 
-void SDL_SYS_WaitThread(SDL_Thread *thread)
+void
+SDL_SYS_WaitThread (SDL_Thread * thread)
 {
-	pthread_join(thread->handle, 0);
+    pthread_join (thread->handle, 0);
 }
 
-void SDL_SYS_KillThread(SDL_Thread *thread)
+void
+SDL_SYS_KillThread (SDL_Thread * thread)
 {
 #ifdef PTHREAD_CANCEL_ASYNCHRONOUS
-	pthread_cancel(thread->handle);
+    pthread_cancel (thread->handle);
 #else
 #ifdef __FREEBSD__
 #warning For some reason, this doesnt actually kill a thread - FreeBSD 3.2
 #endif
-	pthread_kill(thread->handle, SIGKILL);
+    pthread_kill (thread->handle, SIGKILL);
 #endif
 }
+
+/* vi: set ts=4 sw=4 expandtab: */