Re: Wyciek pamięci podczas kasowania wątku

Autor: Matuzalem <codemaster__at_op.pl>
Data: Fri 27 Oct 2006 - 12:51:53 MET DST
Message-ID: <1161946313.434918.8350@e3g2000cwe.googlegroups.com>
Content-Type: text/plain; charset="iso-8859-2"

User napisał(a):
> 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.

Witam

MSDN:
"The thread execution begins at the function specified by the
lpStartAddress parameter. If this function returns, the DWORD return
value is used to terminate the thread in an implicit call to the
ExitThread function. Use the GetExitCodeThread function to get the
thread's return value."

Pozdrawiam
Received on Fri Oct 27 12:55:10 2006

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Fri 27 Oct 2006 - 13:42:04 MET DST