1 uClibc thread-safety analysis
3 Things that are still known to be needed for thread safety:
10 Things that might be nice, but are not required:
12 getnetent_r <desired, but not required for SuSv3>
13 gethostent_r <desired, but not required for SuSv3>
14 getprotoent_r <desired, but not required for SuSv3>
15 getnetbyname_r <desired, but not required for SuSv3>
16 getnetbyaddr_r <desired, but not required for SuSv3>
20 Functions that use static data and may still need locking:
23 --------------------------------------------------------------------
25 libc/inet/rpc/rpc_thread.c:
27 __rpc_thread_variables is currently disabled, since thread
28 local storage seems to not be correctly specified as
31 --------------------------------------------------------------------
35 static char buf[PWD_BUFFER_SIZE];
37 getpass <fix required> <---
39 NOTE: This function returns a pointer to a static data structure.
40 This seems like it requires an _r version of this function. Glibc
41 does the same thing. Oops! So much for thread-safe glibc!
43 --------------------------------------------------------------------
47 static long int ret_vals[_UCLIBC_SYSCONF_NUM_VALID_ARGS];
49 find_or_add_in_table <fix required?> <---
50 main <fix required?> <---
52 NOTE: I'm not sure if this needs to be made reentrant...
54 --------------------------------------------------------------------