From: Steven R. L. <sr...@ic...> - 2008-08-26 22:42:05
|
Hello, As I was reminded in a previous email, static arrays are supposed to be initialized by the compiler to NULL. If by initialized you mean 'filled in with a valid non-NULL value', that initialization only happens as individual ICU services are used. Please define what you mean by 'dynamically initialize the array' - to initialize it from heap? ucln functions are not defined to be reentrant. They are to be only called by the user of ICU, when it is known that no other service is using ICU. -s Katsuhiko Masuda wrote: > > Hi Steve, > > I created some new functions in ICU to printf the arrays and saw that > all the array elements had NULL values. > But, please note that my verification results would never assure that > the arrays are actually initialized. > The issue could depend on binary code of genbrk and associated ICU > DLLs, and also could depend on allocated memory. > So, as I described in my previous mail, I strongly recommend an > explicit initialization. > Another somewhat curious observations I got were that > > * I had no 0C4 issue with my printf modifications. > * I had no 0C4 issue with my 1st modification (I created some > functions to dynamically initialize the arrays in u_unit(). > * I had 0C4 issue with static initialization for the array. > That is, = {NULL}... did not resolve the issue. > > > The issue appears to be even complex more than I thought. But, at > least, we'd better to dynamically initialize the arrays. And, I feel > another modification might be required to fix the issue. > I guess that my previous modifications would have changed the binary > of genbrk, that may have happened to remove 0C4 issue. > > I also wonder if it is okay or not for ICU to have these static > arrays. The arrays are static. That means all of ucln_cmn.c functions > are not re-entrant, while the functions reside in a shared library. Is > it okay? > > I am even a new comer to ICU, and I would appreciate a problem > determination by an ICU expert. > Contact me with e-mail if you need more detail information such as > CEEDUMP file. I could send it to you. > > Thilo, > Thanks for your clarification for the topic #1 and #2. Given that, and > I would go on my work with the ICU I built. > > BTW, Today, Rachel Zhang reported a problem of genbrk on Windows with > MSVC 2008 express (9.0) and ICU3.2 in another mail thread. I guess it > may be a similar issue. > > Regards, > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > ------------------------------------------------------------------------ > > _______________________________________________ > icu-support mailing list - icu...@li... > To Un/Subscribe: https://lists.sourceforge.net/lists/listinfo/icu-support > |