一部の関数 (次の表に示した関数など) は、POSIX 1003.1c 規格でのセマンティクスが Solaris 2.4 リリースでのセマンティクスと異なっています (後者は、より前の POSIX 草稿に基づいています)。関数の定義はコンパイル時に選択します。パラメタと戻り値の相違点については、『SunOS Reference Manual』の Section 3「Library Routines」を参照してください。
表 7-1 POSIX と Solaris でセマンティクスの異なる関数
sigwait(2) |
asctime_r(3C) |
ctime_r(3C) |
getlogin_r(3C) |
ftrylockfile(3S) - 新規 |
getgrgid_r(3C) |
getgrnam_r(3C) |
getpwuid_r(3C) |
getpwnam_r(3C) |
ttyname_r(3C) |
readdir_r(3C) |
|
Solaris の fork(2) 関数はすべてのスレッドを複製しますが (汎用 fork 動作)、POSIX の fork(2) 関数は Solaris の fork1() 関数と同様、呼び出しスレッドのみを複製します (fork1 動作)。
alarm(2) の処理も異なります。Solaris のアラームはそのスレッドの LWP に向けられますが、POSIX のアラームはプロセス全体に向けられます (詳細は、「スレッドごとのアラーム」を参照してください)。