名称
thread_safety ― libc、libpthread、および libgen インタフェースのうち、非スレッドセーフ、キャンセルポイント、キャンセルセーフ、非同期シグナルセーフ、非同期キャンセルセーフであるもののリスト
説明
このマンページは、libc、libpthread、および libgen インタフェースを使用してスレッドセーフアプリケーションを記述するときに参照してください。
このマンページでは、libc、libpthread、および libgen インタフェースのうち、非スレッドセーフ、キャンセルポイント、キャンセルセーフ、非同期シグナルセーフ、非同期キャンセルセーフであるもののリストを示します。
スレッドセーフではないインタフェース
以下を除くすべてのインタフェースがスレッドセーフです。
| bgets() | bufsplit() | copylist() | dbmclose() |
| dbminit() | delete() | endmntent() | fattach() |
| fdetach() | fetch() | firstkey() | getc_unlocked() |
| getchar_unlocked() | getopt() | inet_ntop() | inet_pton() |
| isastream() | nextkey() | putc_unlocked() | putchar_unlocked() |
| setmntent() | store() | strord() | strtold() |
注記:
あるインタフェースに、 _r が付加された対応するインタフェースがある場合、 _r が付加されたインタフェースはスレッドセーフであり、_r が付加されていないインタフェースはスレッドセーフではありません。
キャンセルポイント
以下のインタフェース内でスレッドが実行されるとき、キャンセルポイントが発生する可能性があります。
| _pututline() | accept() | aio_suspend() |
| bgets() | bwtmpname() | catclose() |
| catgets() | catopen() | close() |
| closedir() | closelog() | confstr() |
| connect() | copylist() | creat() |
| ctermid() | cuserid() | dbm_close() |
| dbm_delete() | dbm_fetch() | dbm_firstkey() |
| dbm_nextkey() | dbm_open() | dbm_store() |
| devnm() | dial() | endbwent() |
| endgrent() | endpwent() | endusershell() |
| endutent() | endutsent() | endutxent() |
| fclose() | fcntl() | fdopen() |
| fflush() | fgetc() | fgetpos() |
| fgetpwent() | fgets() | fgetwc() |
| fgetws() | fopen() | fprintf() |
| fputc() | fputs() | fputwc() |
| fputws() | fread() | freopen() |
| fscanf() | fseek() | fseeko() |
| fsetpos() | fstatvfsdev() | fsync() |
| ftell() | ftello() | ftw() |
| fwprintf() | fwrite() | fwscanf() |
| getbwent() | getc() | getc_unlocked() |
| getchar() | getchar_unlocked() | getcwd() |
| getdate() | getgrent() | getgrgid() |
| getgrgid_r() | getgrnam() | getgrnam_r() |
| getlogin() | getlogin_r() | getmsg() |
| getpmsg() | getpwent() | getpwnam() |
| getpwnam_r() | getpwuid() | getpwuid_r() |
| gets() | gettxt() | getusershell() |
| getutent() | getutid() | getutline() |
| getutxent() | getutsent() | getutsid() |
| getutsline() | getutspid() | getutxid() |
| getutxline() | getw() | getwc() |
| getwchar() | getwd() | glob() |
| globfree() | iconv() | iconv_close() |
| iconv_open() | initgroups() | insque() |
| ioctl() | isastream() | lckpwdf() |
| lockf() | lockf64() | lseek() |
| lseek64() | mkstemp() | msgrcv() |
| msgsnd() | msync() | nanosleep() |
| nftw() | nftw2() | open() |
| opendir() | openlog() | pause() |
| pclose() | perror() | pfmt() |
| poll() | popen() | pread() |
| printf() | pthread_cond_timedwait() | pthread_cond_wait() |
| pthread_join() | pthread_testcancel() | putc() |
| putc_unlocked() | putchar() | putchar_unlocked() |
| putmsg() | putpmsg() | putpwent() |
| puts() | pututline() | pututsline() |
| pututxline() | putw() | putwc() |
| putwchar() | putws() | pwrite() |
| read() | readdir() | readdir_r() |
| readv() | recv() | recvfrom() |
| recvmsg() | remove() | remque() |
| rename() | rewind() | rewinddir() |
| scandir() | scanf() | seekdir() |
| select() | semop() | send() |
| sendmsg() | sendto() | sendfile() |
| setbwent() | setgrent() | setpwent() |
| setusershell() | setutent() | setutsent() |
| setutxent() | sigpause() | sigsuspend() |
| sigtimedwait() | sigwait() | sigwaitinfo() |
| sleep() | socket() | socketpair() |
| statvfsdev() | strerror() | syslog() |
| system() | tcdrain() | tmpfile() |
| tmpnam() | ttyname() | ttyname_r() |
| ttyslot() | ulckpwdf() | undial() |
| ungetc() | ungetwc() | unlink() |
| updatebwdb() | usleep() | utmpname() |
| vfprintf() | vfscanf() | vfwprintf() |
| vpfmt() | vprintf() | vscanf() |
| vwprintf() | wait() | wait3() |
| waitid() | waitpid() | wordexp() |
| wordfree() | wprintf() | write() |
| writev() | wscanf() | |
キャンセルセーフ
以下のインタフェースはすべてキャンセルセーフです。
| accept() | bind() | connect() | dn_comp() |
| dn_expand() | endhostent() | endnetent() | endprotoent() |
| endservent() | get_resfield() | gethostbyaddr() | gethostbyname() |
| gethostent() | getmsg() | getnetbyaddr() | getnetbyname() |
| getnetent() | getpeername() | getpmsg() | getprotobyname() |
| getprotobynumber() | getprotoent() | getservbyname() | getservbyport() |
| getservent() | getsockname() | getsockopt() | herror() |
| inet_addr() | inet_lnaof() | inet_makeaddr() | inet_netof() |
| inet_network() | inet_ntoa() | isastream() | listen() |
| msync() | net_aton() | net_ntoa() | poll() |
| putmsg() | putpmsg() | rcmd() | recv() |
| recvfrom() | recvmsg() | res_init() | res_mkquery() |
| res_query() | res_search() | res_send() | rexec() |
| rresvport() | ruserok() | sbrk() | send() |
| sendfile() | sendmsg() | sendto() | set_resfield() |
| sethostent() | setnetent() | setprotoent() | setservent() |
| setsockopt() | shutdown() | socket() | socketpair() |
非同期シグナルセーフ
以下のインタフェースはすべて非同期シグナルセーフです。
| _exit() | accept() | access() | alarm() |
| bind() | cfgetispeed() | cfgetospeed() | cfsetispeed() |
| cfsetospeed() | chdir() | chmod() | chown() |
| close() | connect() | creat() | dup() |
| dup2() | execle() | execve() | fcntl() |
| fpathconf() | fstat() | getegid() | geteuid() |
| getgid() | getgroups() | getmsg() | getpeername() |
| getpgrp() | getpid() | getpmsg() | getppid() |
| getsockname() | getsockopt() | getuid() | isastream() |
| kill() | link() | listen() | lseek() |
| mkdir() | mkfifo() | msync() | net_aton() |
| net_ntoa() | open() | pathconf() | pause() |
| pipe() | poll() | putmsg() | putpmsg() |
| raise() | read() | recv() | recvfrom() |
| recvmsg() | rename() | rmdir() | sbrk() |
| send() | sendfile() | sendmsg() | sendto() |
| setgid() | setpgid() | setsid() | setsockopt() |
| setuid() | shutdown() | sigaction() | sigaddset() |
| sigdelset() | sigemptyset() | sigfillset() | sigismember() |
| signal() | sigpending() | sigprocmask() | sigqueue() |
| sigsuspend() | sleep() | socket() | socketpair() |
| stat() | sysconf() | tcdrain() | tcflow() |
| tcflush() | tcgetattr() | tcgetpgrp() | tcsendbreak() |
| tcsetattr() | tcsetpgrp() | time() | times() |
| umask() | uname() | unlink() | utime() |
| wait() | waitpid() | write() | |
非同期キャンセルセーフ
以下のインタフェースはすべて非同期キャンセルセーフです。
| a64l() | abs() | accept() |
| addmntent() | atof() | atoi() |
| atol() | bcmp() | bcopy() |
| bind() | bsearch() | bzero() |
| cfgetispeed() | cfgetospeed() | cfsetispeed() |
| cfsetospeed() | connect() | div() |
| execv() | execve() | ffs() |
| fnmatch() | fsetaclentry() | ftok() |
| getclock() | getmsg() | getpeername() |
| getpmsg() | getrlimit() | getsockname() |
| getsockopt() | getsubopt() | index() |
| insque() | isalnum() | isalpha() |
| isascii() | isastream() | iscntrl() |
| isdigit() | isgraph() | islower() |
| isprint() | ispunct() | isspace() |
| isupper() | iswalnum() | iswalpha() |
| iswcntrl() | iswctype() | iswdigit() |
| iswgraph() | iswlower() | iswprint() |
| iswpunct() | iswspace() | iswupper() |
| iswxdigit() | isxdigit() | l3tol() |
| labs() | ldiv() | lfind() |
| listen() | lsearch() | ltol3() |
| mblen() | mbstowcs() | mbtowc() |
| memccpy() | memchr() | memcmp() |
| memcpy() | memmove() | memset() |
| mkfifo() | mktemp() | msem_init() |
| msem_lock() | msgrcv() | msgsnd() |
| msync() | nanosleep() | net_aton() |
| net_ntoa() | pathfind() | pause() |
| poll() | pstat() | pstat_getlwp() |
| pthread_cancel() | pthread_setcancelstate() | pthread_setcanceltype() |
| putmsg() | putpmsg() | recv() |
| recvfrom() | recvmsg() | remque() |
| rindex() | rmdirp() | sbrk() |
| semop() | send() | sendfile() |
| sendmsg() | sendto() | setaclentry() |
| setcat() | setclock() | setrlimit() |
| setsockopt() | shutdown() | sigsuspend() |
| socket() | socketpair() | strcasecmp() |
| strcat() | strchr() | strcmp() |
| strcoll() | strcpy() | strcspn() |
| strdup() | strlen() | strncasecmp() |
| strncat() | strncmp() | strncpy() |
| strord() | strpbrk() | strrchr() |
| strrstr() | strspn() | strstr() |
| strtod() | strtok_r() | strtol() |
| strtold() | strtoul() | strxfrm() |
| swab() | tcdrain() | tcflow() |
| tcflush() | tcgetattr() | tcgetpgrp() |
| tcgetsid() | tcsendbreak() | tcsetattr() |
| tcsetpgrp() | toascii() | tolower() |
| toupper() | towlower() | towupper() |
| ulimit() | wait() | wait3() |
| waitid() | wcscat() | wcschr() |
| wcscmp() | wcscpy() | wcscspn() |
| wcslen() | wcsncat() | wcsncmp() |
| wcsncpy() | wcspbrk() | wcsrchr() |
| wcsspn() | wcsstr() | wcstod() |
| wcstok() | wcstol() | wcstombs() |
| wcstoul() | wcswcs() | wctomb() |
| wctype() | | |
参照
intro(3C)、 pthread(3T)、 signal(5)
スレッドのホワイトペーパーは、 http://www.devresource.hp.com および http://docs.hp.com Web
サイトで参照してください。