threads.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. uClibc thread-safety analysis
  2. Things that are still known to be needed for thread safety:
  3. none
  4. Things that might be nice, but are not required:
  5. getnetent_r <desired, but not required for SuSv3>
  6. gethostent_r <desired, but not required for SuSv3>
  7. getprotoent_r <desired, but not required for SuSv3>
  8. getnetbyname_r <desired, but not required for SuSv3>
  9. getnetbyaddr_r <desired, but not required for SuSv3>
  10. Functions that use static data and may still need locking:
  11. --------------------------------------------------------------------
  12. libc/inet/rpc/rpc_thread.c:
  13. __rpc_thread_variables is currently disabled, since thread
  14. local storage seems to not be correctly specified as
  15. weak functions.
  16. --------------------------------------------------------------------
  17. unistd/getpass.c:
  18. static char buf[PWD_BUFFER_SIZE];
  19. getpass <fix required> <---
  20. NOTE: This function returns a pointer to a static data structure.
  21. This seems like it requires an _r version of this function. Glibc
  22. does the same thing. Oops! So much for thread-safe glibc!
  23. --------------------------------------------------------------------
  24. unistd/sysconf.c:
  25. static long int ret_vals[_UCLIBC_SYSCONF_NUM_VALID_ARGS];
  26. find_or_add_in_table <fix required?> <---
  27. main <fix required?> <---
  28. NOTE: I'm not sure if this needs to be made reentrant...
  29. --------------------------------------------------------------------