On Wed, 11 Jul 2001, Igmar Palsenberg wrote: > > Looking at the bigcrypt and md5 routines, I see no reason that static > > variables should even be used -- I'll fix this in CVS ASAP. I imagine that > > some of the other, more complex reentrancy issues are going to cause you > > problems as well, though. > Is there a list of problematic glibc functions somewhere ? I know of a > few, but not all :) Hmm. $ nm -D /lib/libc.so.6 |grep _r$|cut -f 3 -d' '|sed -e's/_r//' __gmtime __internal_getnetgrent __strerror __strtok asctime ctime drand48 ecvt erand48 ether_aton ether_ntoa fcvt fgetgrent fgetpwent fgetspent getaliasbyname getaliasent getdate getgrent getgrgid getgrnam gethostbyaddr gethostbyname2 gethostbyname gethostent getlogin getmntent getnetbyaddr getnetbyname getnetent getnetgrent getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getrpcbyname getrpcbynumber getrpcent getservbyname getservbyport getservent getspent getspnam getutent getutid getutline gmtime hcreate hdestroy hsearch initstate jrand48 lcong48 localtime lrand48 mrand48 nrand48 ptsname qecvt qfcvt rand random readdir64 readdir seed48 setstate sgetspent srand48 srandom strerror strtok tmpnam ttyname That appears to be the best list of problematic glibc functions, as identified by the glibc developers themselves. :) Cheers, Steve Langasek postmodern programmer