Bunch of tiny memory leaks fixed and cleanup, フウ〜!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5056 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Sonicadvance1
2010-02-14 14:06:33 +00:00
parent b6aa5d91c0
commit 5b1d21d1a1
10 changed files with 61 additions and 35 deletions

View File

@ -416,7 +416,14 @@ void SleepCurrentThread(int ms)
void SetCurrentThreadName(const TCHAR* szThreadName)
{
pthread_setspecific(threadname_key, strdup(szThreadName));
char *name = strdup(szThreadName);
// pthread_setspecific returns 0 on success
// free the string from strdup if fails
// creates a memory leak if it actually doesn't fail
// since we don't delete it once we delete the thread
// we are using a single threadname_key anyway for all threads
if(!pthread_setspecific(threadname_key, strdup(szThreadName)))
free(name);
INFO_LOG(COMMON, "%s(%s)\n", __FUNCTION__, szThreadName);
}