Mercurial > sdl-ios-xcode
changeset 397:283d348cb624
Pth threading bug fix
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 10 Jun 2002 20:42:02 +0000 |
parents | 11d6eed68dba |
children | d219b0e02f5f |
files | src/SDL.c src/thread/SDL_thread.c src/thread/pth/SDL_systhread.c |
diffstat | 3 files changed, 12 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/SDL.c Mon Jun 10 20:37:39 2002 +0000 +++ b/src/SDL.c Mon Jun 10 20:42:02 2002 +0000 @@ -150,6 +150,12 @@ int SDL_Init(Uint32 flags) { +#if !defined(DISABLE_THREADS) && defined(ENABLE_PTH) + if (!pth_init()) { + return -1; + } +#endif + /* Clear the error message */ SDL_ClearError(); @@ -223,6 +229,10 @@ /* Uninstall any parachute signal handlers */ SDL_UninstallParachute(); + +#if !defined(DISABLE_THREADS) && defined(ENABLE_PTH) + pth_kill(); +#endif } /* Return the library version number */
--- a/src/thread/SDL_thread.c Mon Jun 10 20:37:39 2002 +0000 +++ b/src/thread/SDL_thread.c Mon Jun 10 20:42:02 2002 +0000 @@ -52,12 +52,6 @@ { int retval; -#ifdef ENABLE_PTH - if (!pth_init()) { - return -1; - } -#endif - retval = 0; /* Set the thread lock creation flag so that we can reuse an existing lock on the system - since this mutex never gets @@ -86,10 +80,6 @@ if ( mutex != NULL ) { SDL_DestroyMutex(mutex); } - -#ifdef ENABLE_PTH - pth_kill(); -#endif } /* Routines for manipulating the thread list */
--- a/src/thread/pth/SDL_systhread.c Mon Jun 10 20:37:39 2002 +0000 +++ b/src/thread/pth/SDL_systhread.c Mon Jun 10 20:42:02 2002 +0000 @@ -64,7 +64,8 @@ pth_attr_set(type, PTH_ATTR_JOINABLE, TRUE); /* Create the thread and go! */ - if ( pth_spawn(type, RunThread, args) == NULL ) { + thread->handle = pth_spawn(type, RunThread, args); + if ( thread->handle == NULL ) { SDL_SetError("Not enough resources to create thread"); return(-1); }