The information in this article applies to:
SYMPTOMSA small amount of memory is leaked when a fiber causes a thread to exit. CAUSE
When a thread is converted to a fiber through ConvertThreadToFiber() or
when a new fiber is created through CreateFiber(), an internal fiber data
structure is allocated and a pointer to this data structure is returned to
the calling program. However, when a fiber causes a thread to exit, either
through calling DeleteFiber() on itself or simply exiting, the system fails
to release the internal fiber data structure allocated for the fiber.
RESOLUTIONCall LocalFree() passing the LPVOID value returned by CreateFiber() or ConvertThreadToFiber() to free the fiber data structure just before exiting. STATUSMicrosoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATIONUsually this is not a problem if you use fibers as intended. Fibers are designed to be employed by a single-threaded application, in which case the leak will never occur. However, if threads with fibers are started and terminated repeatedly, this can cause accumulation of memory leaks and will eventually cause the process to run out of memory. Additional query words: Fiber, FIBER_DATA, ExitThread(), TerminateThread(), Memory Leak, Leak
Keywords : kbAPI kbKernBase kbNTOS351 kbNTOS400 kbWinOS2000 kbThread kbDSupport kbGrpKernBase |
Last Reviewed: January 10, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |