Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Simplified Windows RunThread().

Removed checks for things that are always true, free unneeded struct before
 calling thread entry point, instead of after thread completes.
  • Loading branch information
icculus committed Sep 20, 2011
1 parent 4dc7286 commit 9613ccbde36a09906ea0383523770592fdc379b5
Showing with 6 additions and 13 deletions.
  1. +6 −13 src/thread/windows/SDL_systhread.c
@@ -79,19 +79,12 @@ static DWORD
RunThread(void *data)
{
pThreadStartParms pThreadParms = (pThreadStartParms) data;
pfnSDL_CurrentEndThread pfnCurrentEndThread = NULL;

// Call the thread function!
SDL_RunThread(pThreadParms->args);

// Get the current endthread we have to use!
if (pThreadParms) {
pfnCurrentEndThread = pThreadParms->pfnCurrentEndThread;
SDL_free(pThreadParms);
}
// Call endthread!
if (pfnCurrentEndThread)
(*pfnCurrentEndThread) (0);
pfnSDL_CurrentEndThread pfnEndThread = pThreadParms->pfnCurrentEndThread;
void *args = pThreadParms->args;
SDL_free(pThreadParms);
SDL_RunThread(args);
if (pfnEndThread != NULL)
pfnEndThread(0);
return (0);
}

0 comments on commit 9613ccb

Please sign in to comment.