Mercurial > sdl-ios-xcode
diff src/thread/amigaos/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 | d910939febfa |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/src/thread/amigaos/SDL_systhread.c Sun May 21 17:27:13 2006 +0000 +++ b/src/thread/amigaos/SDL_systhread.c Sun May 28 13:04:16 2006 +0000 @@ -29,123 +29,137 @@ #include "../SDL_systhread.h" #include "mydebug.h" -typedef struct { - int (*func)(void *); - void *data; - SDL_Thread *info; - struct Task *wait; +typedef struct +{ + int (*func) (void *); + void *data; + SDL_Thread *info; + struct Task *wait; } thread_args; #ifndef MORPHOS -#if defined(__SASC) && !defined(__PPC__) -__saveds __asm Uint32 RunThread(register __a0 char *args ) +#if defined(__SASC) && !defined(__PPC__) +__saveds __asm Uint32 +RunThread (register __a0 char *args) #elif defined(__PPC__) -Uint32 RunThread(char *args) +Uint32 +RunThread (char *args) #else -Uint32 __saveds RunThread(char *args __asm("a0") ) +Uint32 __saveds +RunThread (char *args __asm ("a0")) #endif { - #ifdef STORMC4_WOS - thread_args *data=(thread_args *)args; - #else - thread_args *data=(thread_args *)atol(args); - #endif +#ifdef STORMC4_WOS + thread_args *data = (thread_args *) args; +#else + thread_args *data = (thread_args *) atol (args); +#endif - struct Task *Father; + struct Task *Father; - D(bug("Received data: %lx\n",data)); - Father=data->wait; + D (bug ("Received data: %lx\n", data)); + Father = data->wait; - SDL_RunThread(data); + SDL_RunThread (data); - Signal(Father,SIGBREAKF_CTRL_F); - D(bug("Thread with data %lx ended\n",data)); - return(0); + Signal (Father, SIGBREAKF_CTRL_F); + D (bug ("Thread with data %lx ended\n", data)); + return (0); } #else #include <emul/emulinterface.h> -Uint32 RunTheThread(void) +Uint32 +RunTheThread (void) { - thread_args *data=(thread_args *)atol((char *)REG_A0); - struct Task *Father; + thread_args *data = (thread_args *) atol ((char *) REG_A0); + struct Task *Father; - D(bug("Received data: %lx\n",data)); - Father=data->wait; + D (bug ("Received data: %lx\n", data)); + Father = data->wait; - SDL_RunThread(data); + SDL_RunThread (data); - Signal(Father,SIGBREAKF_CTRL_F); - D(bug("Thread with data %lx ended\n",data)); - return(0); + Signal (Father, SIGBREAKF_CTRL_F); + D (bug ("Thread with data %lx ended\n", data)); + return (0); } -struct EmulLibEntry RunThreadStruct= -{ - TRAP_LIB, - 0, - (ULONG)RunTheThread +struct EmulLibEntry RunThreadStruct = { + TRAP_LIB, + 0, + (ULONG) RunTheThread }; -void *RunThread=&RunThreadStruct; +void *RunThread = &RunThreadStruct; #endif -int SDL_SYS_CreateThread(SDL_Thread *thread, void *args) +int +SDL_SYS_CreateThread (SDL_Thread * thread, void *args) { - /* Create the thread and go! */ - char buffer[20]; + /* Create the thread and go! */ + char buffer[20]; - D(bug("Sending %lx to the new thread...\n",args)); + D (bug ("Sending %lx to the new thread...\n", args)); - if(args) - SDL_snprintf(buffer, SDL_arraysize(buffer),"%ld",args); + if (args) + SDL_snprintf (buffer, SDL_arraysize (buffer), "%ld", args); - #ifdef STORMC4_WOS - thread->handle=CreateTaskPPCTags(TASKATTR_CODE, RunThread, - TASKATTR_NAME, "SDL subtask", - TASKATTR_STACKSIZE, 100000, - (args ? TASKATTR_R3 : TAG_IGNORE), args, - TASKATTR_INHERITR2, TRUE, - TAG_DONE); - #else - thread->handle=(struct Task *)CreateNewProcTags(NP_Output,Output(), - NP_Name,(ULONG)"SDL subtask", - NP_CloseOutput, FALSE, - NP_StackSize,20000, - NP_Entry,(ULONG)RunThread, - args ? NP_Arguments : TAG_IGNORE,(ULONG)buffer, - TAG_DONE); - #endif +#ifdef STORMC4_WOS + thread->handle = CreateTaskPPCTags (TASKATTR_CODE, RunThread, + TASKATTR_NAME, "SDL subtask", + TASKATTR_STACKSIZE, 100000, + (args ? TASKATTR_R3 : TAG_IGNORE), + args, TASKATTR_INHERITR2, TRUE, + TAG_DONE); +#else + thread->handle = (struct Task *) CreateNewProcTags (NP_Output, Output (), + NP_Name, + (ULONG) "SDL subtask", + NP_CloseOutput, FALSE, + NP_StackSize, 20000, + NP_Entry, + (ULONG) RunThread, + args ? NP_Arguments : + TAG_IGNORE, + (ULONG) buffer, + TAG_DONE); +#endif - if(!thread->handle) - { - SDL_SetError("Not enough resources to create thread"); - return(-1); - } + if (!thread->handle) { + SDL_SetError ("Not enough resources to create thread"); + return (-1); + } - return(0); + return (0); } -void SDL_SYS_SetupThread(void) +void +SDL_SYS_SetupThread (void) { } -Uint32 SDL_ThreadID(void) +Uint32 +SDL_ThreadID (void) { - return((Uint32)FindTask(NULL)); + return ((Uint32) FindTask (NULL)); } -void SDL_SYS_WaitThread(SDL_Thread *thread) +void +SDL_SYS_WaitThread (SDL_Thread * thread) { - SetSignal(0L,SIGBREAKF_CTRL_F|SIGBREAKF_CTRL_C); - Wait(SIGBREAKF_CTRL_F|SIGBREAKF_CTRL_C); + SetSignal (0L, SIGBREAKF_CTRL_F | SIGBREAKF_CTRL_C); + Wait (SIGBREAKF_CTRL_F | SIGBREAKF_CTRL_C); } -void SDL_SYS_KillThread(SDL_Thread *thread) +void +SDL_SYS_KillThread (SDL_Thread * thread) { - Signal((struct Task *)thread->handle,SIGBREAKF_CTRL_C); + Signal ((struct Task *) thread->handle, SIGBREAKF_CTRL_C); } + +/* vi: set ts=4 sw=4 expandtab: */