List of multithreaded programming subroutines
Programming in a multithreaded environment requires reentrant subroutines to ensure data integrity.
Use the following subroutines rather than the non-reentrant version:
| Subroutine | Description |
|---|---|
| asctime_r | Converts a time value into a character array |
| getgrnam_r | Returns the next group entry in the user database that matches a specific name |
| getpwuid_r | Returns the next entry that matches a specific user ID in the use database |
The following lists the non-reentrant subroutines in libc.
| Subroutine | Description | ||
|---|---|---|---|
| asctime | getgrent | gsignal | setkey |
| auditread | getgrgid | hcreate | setlogmask |
| closelog | getgrnam | hdestroy | setnetent |
| crypt | getgroupsbyuser | hsearch | setnetgrent |
| ctime | getgrset | inet_ntoa | setprotoent |
| dirname | gethostbyaddr | initstate | setpwent |
| drand48 | gethostbyname | innetgr | setpwfile |
| ecvt | gethostent | iso_addr | setrpcent |
| endttyent | getlogin | iso_ntoa | setservent |
| encrypt | getnetbyaddr | jrand48 | setstate |
| asctime | getnetbyname | l64a | setttyent |
| endfsent | getnetent | lcong48 | setutent |
| endfsent | getnetgrent | link_ntoa | setutxent |
| endgrent | getopt | localtime | srand48 |
| endhostent | getprotobyname | lrand48 | srandom |
| endnetent | getprotobynumber | mrand48 | ssignal |
| endnetgrent | getprotoent | mtime | strerror |
| endprotoent | getpwent | ndutent | strtok |
| endpwent | getpwnam | nrand48 | syslog |
| endrpcent | getpwuid | ns_ntoa | ttyname |
| endservent | getrpcbyname | openlog | utmpname |
| endttyent | getrpcbynumber | pututline | wcstok |
| endutxent | getrpcent | pututxline | |
| erand48 | getservbyname | rand | |
| ether_aton | getservbyport | random | |
| ether_ntoa | getservent | rcmd | |
| fcvt fgetgrent | getttyent | rcmd2 | |
| fgetpwent | getttynam | readdir | |
| getdate | getuinfo | rexec | |
| getfsent | getutent | re_comp | |
| getfsent | getutid | re_exec | |
| getfsfile | getutline | seed48 | |
| getfsfile | getutxent | setfsent | |
| getfsspec | getutxid | setgrent | |
| getfstype | getutxline | sethostent |