Fixed memory leaks.

This commit is contained in:
crs 2003-02-16 19:49:44 +00:00
parent 57ba0cb660
commit 3351a66f51
4 changed files with 20 additions and 4 deletions

View File

@ -540,13 +540,15 @@ WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int)
// users on NT can use `--daemon' or `--no-daemon' to force us out
// of the service code path.
if (__argc <= 1 && !CArchMiscWindows::isWindows95Family()) {
int result = kExitFailed;
try {
return ARCH->daemonize(DAEMON_NAME, &daemonStartup);
result = ARCH->daemonize(DAEMON_NAME, &daemonStartup);
}
catch (XArchDaemon& e) {
LOG((CLOG_CRIT "failed to start as a service: %s" BYE, e.what().c_str(), ARG->m_pname));
return kExitFailed;
}
delete CLOG;
return result;
}
// parse command line
@ -586,6 +588,7 @@ WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int)
MessageBox(NULL, msg, ARG->m_pname, MB_OK | MB_ICONWARNING);
}
delete CLOG;
return result;
}

View File

@ -672,13 +672,15 @@ WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int)
// users on NT can use `--daemon' or `--no-daemon' to force us out
// of the service code path.
if (__argc <= 1 && !CArchMiscWindows::isWindows95Family()) {
int result = kExitFailed;
try {
return ARCH->daemonize(DAEMON_NAME, &daemonStartup);
result = ARCH->daemonize(DAEMON_NAME, &daemonStartup);
}
catch (XArchDaemon& e) {
LOG((CLOG_CRIT "failed to start as a service: %s" BYE, e.what().c_str(), ARG->m_pname));
return kExitFailed;
}
delete CLOG;
return result;
}
// parse command line
@ -721,6 +723,7 @@ WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int)
MessageBox(NULL, msg, ARG->m_pname, MB_OK | MB_ICONWARNING);
}
delete CLOG;
return result;
}

View File

@ -97,6 +97,15 @@ CArchMultithreadWindows::CArchMultithreadWindows()
CArchMultithreadWindows::~CArchMultithreadWindows()
{
s_instance = NULL;
// clean up thread list
for (CThreadList::iterator index = m_threadList.begin();
index != m_threadList.end(); ++index) {
delete *index;
}
// done with mutex
delete m_threadMutex;
}
HANDLE

View File

@ -406,6 +406,7 @@ CUnicode::textToUTF8(const CString& src, bool* errors)
// clean up
delete[] wcs;
ARCH->closeMBState(state);
return utf8;
}