Список функций для программирования с несколькими нитями
Для того чтобы обеспечить целостность данных, при создании программ с несколькими нитями следует применять реентерабельные функции.
Ниже приведен список реентерабельных функций, которые следует применять вместо их обычных аналогов:
| Функция | Описание |
|---|---|
| asctime_r | Преобразует значение времени в массив символов |
| getgrnam_r | Возвращает следующую запись о группе с указанным именем из базы данных пользователей |
| getpwuid_r | Возвращает следующую запись из базы данных пользователей с указанным ИД |
В следующем списке перечислены не реентерабельные функции из libc.
| Функция | Описание | ||
|---|---|---|---|
| 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 |