mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 10:08:18 +00:00
Close memory leaks
This commit is contained in:
parent
cce5e262de
commit
6169c78a79
|
@ -10,12 +10,17 @@
|
|||
|
||||
FifoConsole::FifoConsole(IConsole *pConsole)
|
||||
{
|
||||
void *fifoThread = thread_create(ListenFifoThread, pConsole);
|
||||
void *m_pFifoThread = thread_create(ListenFifoThread, pConsole);
|
||||
#if defined(CONF_FAMILY_UNIX)
|
||||
pthread_detach((pthread_t)fifoThread);
|
||||
pthread_detach((pthread_t)m_pFifoThread);
|
||||
#endif
|
||||
}
|
||||
|
||||
FifoConsole::~FifoConsole()
|
||||
{
|
||||
thread_destroy(m_pFifoThread);
|
||||
}
|
||||
|
||||
void FifoConsole::ListenFifoThread(void *pUser)
|
||||
{
|
||||
IConsole *pConsole = (IConsole *)pUser;
|
||||
|
|
|
@ -6,9 +6,11 @@
|
|||
class FifoConsole
|
||||
{
|
||||
static void ListenFifoThread(void *pUser);
|
||||
void *m_pFifoThread;
|
||||
|
||||
public:
|
||||
FifoConsole(IConsole *pConsole);
|
||||
~FifoConsole();
|
||||
};
|
||||
|
||||
#endif // FILE_ENGINE_FIFOCONSOLE_H
|
||||
|
|
|
@ -74,6 +74,9 @@ CGameContext::~CGameContext()
|
|||
delete m_apPlayers[i];
|
||||
if(!m_Resetting)
|
||||
delete m_pVoteOptionHeap;
|
||||
|
||||
if(m_pScore)
|
||||
delete m_pScore;
|
||||
}
|
||||
|
||||
void CGameContext::Clear()
|
||||
|
|
|
@ -37,7 +37,6 @@ void CSqlScore::LoadPointMapList()
|
|||
{
|
||||
lock_wait(gs_SqlLock);
|
||||
|
||||
m_PointsInfos = NULL;
|
||||
m_PointsSize = 0;
|
||||
|
||||
std::ifstream f("points.cfg");
|
||||
|
@ -63,7 +62,8 @@ void CSqlScore::LoadPointMapList()
|
|||
str_format(aBuf, sizeof(aBuf), "SELECT count(Name) FROM record_%s_race;", Info.m_aMapName);
|
||||
try
|
||||
{
|
||||
m_pStatement->executeQuery(aBuf);
|
||||
m_pResults = m_pStatement->executeQuery(aBuf);
|
||||
delete m_pResults;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -162,6 +162,8 @@ void CSqlScore::Disconnect()
|
|||
{
|
||||
try
|
||||
{
|
||||
delete m_PointsInfos;
|
||||
delete m_pStatement;
|
||||
delete m_pConnection;
|
||||
dbg_msg("SQL", "SQL connection disconnected");
|
||||
}
|
||||
|
@ -201,6 +203,7 @@ void CSqlScore::Init()
|
|||
|
||||
// Check if table has new column with timestamp
|
||||
str_format(aBuf, sizeof(aBuf), "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '%s_%s_teamrace' AND column_name = 'Timestamp'",m_pPrefix, m_aMap);
|
||||
delete m_pResults;
|
||||
m_pResults = m_pStatement->executeQuery(aBuf);
|
||||
|
||||
if(m_pResults->rowsCount() < 1)
|
||||
|
@ -214,6 +217,7 @@ void CSqlScore::Init()
|
|||
|
||||
// get the best time
|
||||
str_format(aBuf, sizeof(aBuf), "SELECT Time FROM %s_%s_race ORDER BY `Time` ASC LIMIT 0, 1;", m_pPrefix, m_aMap);
|
||||
delete m_pResults;
|
||||
m_pResults = m_pStatement->executeQuery(aBuf);
|
||||
|
||||
if(m_pResults->next())
|
||||
|
@ -221,13 +225,10 @@ void CSqlScore::Init()
|
|||
((CGameControllerDDRace*)GameServer()->m_pController)->m_CurrentRecord = (float)m_pResults->getDouble("Time");
|
||||
|
||||
dbg_msg("SQL", "Getting best time on server done");
|
||||
|
||||
// delete results
|
||||
delete m_pResults;
|
||||
}
|
||||
|
||||
// delete statement
|
||||
delete m_pStatement;
|
||||
delete m_pResults;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -279,7 +280,6 @@ void CSqlScore::LoadScoreThread(void *pUser)
|
|||
dbg_msg("SQL", "Getting best time done");
|
||||
|
||||
// delete statement and results
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
|
@ -414,7 +414,7 @@ void CSqlScore::SaveTeamScoreThread(void *pUser)
|
|||
dbg_msg("SQL", "Updating time done");
|
||||
|
||||
// delete results statement
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -474,7 +474,7 @@ void CSqlScore::SaveScoreThread(void *pUser)
|
|||
dbg_msg("SQL", "Updating time done");
|
||||
|
||||
// delete results statement
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -609,7 +609,6 @@ void CSqlScore::ShowTeamRankThread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -708,7 +707,6 @@ void CSqlScore::ShowTeamTop5Thread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -798,7 +796,6 @@ void CSqlScore::ShowRankThread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -881,7 +878,6 @@ void CSqlScore::ShowTop5Thread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -968,7 +964,6 @@ void CSqlScore::ShowTimesThread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -1228,7 +1223,6 @@ void CSqlScore::ShowPointsThread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
@ -1317,7 +1311,6 @@ void CSqlScore::ShowTopPointsThread(void *pUser)
|
|||
|
||||
// delete results and statement
|
||||
delete pData->m_pSqlData->m_pResults;
|
||||
delete pData->m_pSqlData->m_pStatement;
|
||||
}
|
||||
catch (sql::SQLException &e)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue