マルチスレッドのプログラミング

セマンティクスの選択 — Solaris または POSIX

一部の関数 (表 7–1 に示した関数など) は、POSIX 1003.1c 規格でのセマンティクスが Solaris オペレーティング環境 2.4 リリースでのセマンティクスと異なっています (後者は、より前の POSIX 草稿に基づいています)。関数の定義はコンパイル時に選択します。パラメータと戻り値の相違点については、『man pages section 3』を参照してください。

表 7–1 POSIX と Solaris でセマンティクスの異なる関数

sigwait(2)

 

ctime_r(3C)

asctime_r(3C)

ftrylockfile(3S) - 新規

getlogin_r(3C)

getgrnam_r(3C)

getgrgid_r(3C)

getpwnam_r(3C)

getpwuid_r(3C)

readdir_r(3C)

ttyname_r(3C)

Solaris の fork(2) 関数はすべてのスレッドを複製しますが (汎用 fork 動作)、POSIX の fork(2) 関数は Solaris の fork1() 関数と同様、呼び出しスレッドのみを複製します (fork1 動作)。