1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Fixes from valgrind

This commit is contained in:
Brian Fiete 2022-03-18 18:06:14 -07:00
parent 0feaaded22
commit 676e7988fb
31 changed files with 243 additions and 147 deletions

View file

@ -1219,6 +1219,10 @@ struct BfpThread
{
}
~BfpThread()
{
}
void Release()
{
int refCount = __sync_fetch_and_sub(&mRefCount, 1) - 1;
@ -1240,11 +1244,13 @@ static __thread BfpThreadInfo gCurrentThreadInfo;
void* ThreadFunc(void* threadParam)
{
BfpThread* thread = (BfpThread*)threadParam;
gCurrentThread = thread;
thread->mStartProc(thread->mThreadParam);
#ifndef BFP_HAS_PTHREAD_TIMEDJOIN_NP
BfpEvent_Set(thread->mDoneEvent, true);
#endif
#endif
thread->Release();
return NULL;
}
@ -1300,6 +1306,7 @@ BFP_EXPORT void BFP_CALLTYPE BfpThread_Release(BfpThread* thread)
pthread_detach(thread->mPThread);
thread->mPThreadReleased = true;
}
thread->Release();
}
@ -1485,6 +1492,7 @@ BFP_EXPORT BfpCritSect* BFP_CALLTYPE BfpCritSect_Create()
BFP_EXPORT void BFP_CALLTYPE BfpCritSect_Release(BfpCritSect* critSect)
{
pthread_mutex_destroy(&critSect->mPMutex);
delete critSect;
}
BFP_EXPORT void BFP_CALLTYPE BfpCritSect_Enter(BfpCritSect* critSect)
@ -1564,6 +1572,7 @@ BFP_EXPORT void BFP_CALLTYPE BfpEvent_Release(BfpEvent* event)
{
pthread_cond_destroy(&event->mCondVariable);
pthread_mutex_destroy(&event->mMutex);
delete event;
}
BFP_EXPORT void BFP_CALLTYPE BfpEvent_Set(BfpEvent* event, bool requireManualReset)
@ -2266,7 +2275,7 @@ BFP_EXPORT void BFP_CALLTYPE BfpFile_GetFullPath(const char* inPath, char* outPa
else
{
char* cwdPtr = getcwd(NULL, 0);
Beefy::String cwdPath = cwdPtr;
Beefy::String cwdPath = cwdPtr;
free(cwdPtr);
str = GetAbsPath(inPath, cwdPath);
}
@ -2324,6 +2333,7 @@ BFP_EXPORT BfpFindFileData* BFP_CALLTYPE BfpFindFileData_FindFirstFile(const cha
if (!BfpFindFileData_FindNextFile(findData))
{
OUTRESULT(BfpFileResult_NoResults);
closedir(findData->mDirStruct);
delete findData;
return NULL;
}
@ -2448,6 +2458,7 @@ BFP_EXPORT int64 BFP_CALLTYPE BfpFindFileData_GetFileSize(BfpFindFileData* findD
BFP_EXPORT void BFP_CALLTYPE BfpFindFileData_Release(BfpFindFileData* findData)
{
closedir(findData->mDirStruct);
delete findData;
}