From: Katsuhiko M. <MA...@jp...> - 2008-08-27 01:46:47
|
Thanks Steve, What I meant with "dynamic initialization" is to call ucln_common_registerCleanup() and ucln_registerCleanup() with NULL for all of array elements I put it into u_init(), although I do not know if the location is right place to perform the initialization :-) As I mentioned in my previous mail, my modification resolved my 0C4 problem. But, I feel my local fix may not hit a point of the problem, and probably I was just lucky. Because you are saying that genbrk and associated DLL functions are not needed to be reentrant. My fix changed the genbrk binary, and that would have happend to hide the memory exception, I guess, My other observations also appear to justify my guess. So, I suspect ICU has another problem when cleaning up putil_cleanup() with u_cleanup(), and a difference of C compiler behaviors would have caused the memory exception. I would continue to investigate ICU registerCleanup processing, and also would try to get another edition of host C/C++ compilers for my ICU build. Host C/C++ compiler appears to be tightly coupled with the other components of z/OS, and it seems to me that I have to migrate our z/OS itself just to get another compiler in the worst case. I know z/OS is not a reference platform of ICU, but probably someone would have verified a recent ICU build on a z/OS. Let me know if you have any information about z/OS version number. Thilo informed me of that he got no problem on z/OS 1.9. Regards, Kat. |