ID: 23331 Comment by: osvetlik at kerio dot com Reported By: jakub at icewarp dot com Status: No Feedback Bug Type: IIS related Operating System: win32 PHP Version: 4CVS, 5CVS New Comment:
We are embedding PHP in our products and we have the same problem. It is very important for us to have this issue solved ASAP, if we may help, please, tell us how. Previous Comments: ------------------------------------------------------------------------ [2003-12-30 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over 2 weeks, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2003-12-16 14:31:02] msisolak at yahoo dot com The recent changes have fixed a big chunk of the leaks, but there are still a couple of memory types that are not getting freed. I'll have a couple of more patches to close out this bug soon. ------------------------------------------------------------------------ [2003-12-14 20:16:31] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Some fixes have been committed recently which should fix this bug. Please try the snapshot out. ------------------------------------------------------------------------ [2003-10-04 08:40:57] jakub at icewarp dot com I think I tracked down the leak. In this function: TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id) There's at the end this: TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count); Now if I uncomment this. It does not leak the memory for the 2 calls from my last post. The call translates to return &thread_resources->storage; Why should this leak? Please, C++ people help us here. ------------------------------------------------------------------------ [2003-10-04 06:17:00] jakub at icewarp dot com I have been digging more into this issue and I have found this. 1. HttpExtensionProc like this does not leak at all. DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB) { return 0; } 2. 1. HttpExtensionProc like this does leak. DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB) { TSRMLS_FETCH(); ts_free_thread(); return 0; } It is clear that the ts_free_thread does not free everything. I'm not a C/C++ guru please people help here. This issue has been here since 2 years ago and nobody fixed it yet. Let me know. Jakub ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/23331 -- Edit this bug report at http://bugs.php.net/?id=23331&edit=1