Napisałem prosty program cyklicznie tworzący, a następnie
kasujący wątek (wątek nic nie robi i od razu kończy działanie).
DWORD WINAPI DoCommunication( LPVOID data )
{
ExitThread( 0 );
return 0;
}
void main()
{
// ...
HANDLE hThread = CreateThread( 0, 0, DoCommunication, 0, 0, 0 );
// ...
CloseHandle( hThread );
// ...
}
Po każdym wykonaniu tej operacji rośnie o 4KB pamięć procesu
(widać to w Menedżerze Zadań) - żeby było śmieszniej na niektórych
komputerach program działa poprawnie, np. na XP Home Edition
jest OK (pamięć nie wycieka); na Windows 2000 Pro jest OK;
na jednym kompie z XP Pro jest OK a na drugim (też z XP Pro)
NIE (pamięć wycieka); na kompie z Windows Server 2003 Std.-NIE.
Dodam tylko, że opisana sytuacja ma miejsce zarówno jeśli wątki
tworzone i kasowane są funkcjami Win32 API (CreateThread
i ExitThread), jak i funkcjami C (_beginthread i _endthread).
Czy ktoś spotkał się z opisanym wyżej problemem.
Z góry dziękuję za odpowiedź i pozdrawiam.
Received on Fri Oct 27 12:45:10 2006
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Fri 27 Oct 2006 - 13:42:04 MET DST