diff src/thread/pthread/SDL_systhread.c @ 1459:1e8582152d44

Date: Wed, 01 Mar 2006 10:14:31 +0000 From: "alan buckley" Subject: Re: Updating SDL for RISC OS I've attached a zip file with three diffs to get SDL to build on RISC OS. configure.in.diff and makedeps.sh.diff have been modified so that they can build the assembler file in video/riscos. You may want to double check these as I don't know a lot about unix shell programming. (I've tested them cross-compiling on cygwin). sdlsysthread.diff is the changes required to SDL_systhread.c for RISC OS. As you suspected with these changes in place you can delete the RISC OS specific threading code in thread/riscos. I've also renamed SDL_riscosASM.s to SDL_riscosASM.S, but I'm never quite sure how to rename files in CVS, so if you could to this it would be appreciated.
author Sam Lantinga <slouken@libsdl.org>
date Thu, 02 Mar 2006 03:24:20 +0000
parents d910939febfa
children 782fd950bd46 c121d94672cb a1b03ba2fcd0
line wrap: on
line diff
--- a/src/thread/pthread/SDL_systhread.c	Thu Mar 02 03:18:21 2006 +0000
+++ b/src/thread/pthread/SDL_systhread.c	Thu Mar 02 03:24:20 2006 +0000
@@ -34,6 +34,13 @@
 	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 */
+#endif
+ 
 
 static void *RunThread(void *data)
 {
@@ -58,6 +65,14 @@
 		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();
+	}
+#endif
+
 	return(0);
 }