Catch up with recent RELENG_4.
Submitted by: OHSAWA Chitoshi <ohsawa@catv1.ccn-net.ne.jp>, SUZUKI Koichi <metal@vc-net.ne.jp>, kuma@jp.FreeBSD.org Reviewed by:kuma@jp.FreeBSD.org
This commit is contained in:
parent
066c576098
commit
dcac6ef800
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=9163
49 changed files with 584 additions and 440 deletions
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)accept.2 8.2 (Berkeley) 12/11/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/accept.2,v 1.10.2.4 2000/08/23 00:24:37 jhb Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/accept.2,v 1.10.2.6 2001/02/25 23:57:48 olgeni Exp %
|
||||
.\"
|
||||
.Dd December 11, 1993
|
||||
.Dt ACCEPT 2
|
||||
|
@ -120,7 +120,7 @@
|
|||
を発行することによって、または
|
||||
.Xr setsockopt 2
|
||||
を発行することによって、ユーザ接続拒絶情報を提供できます。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリで
|
||||
.Fn accept
|
||||
|
@ -175,6 +175,9 @@
|
|||
.It Bq Er EWOULDBLOCK
|
||||
ソケットが非ブロッキングとマークされ、さらに
|
||||
受け付けるべき接続要求が存在しません。
|
||||
.It Bq Er ECONNABORTED
|
||||
接続要求が到着しましたが、待ち行列で待機している
|
||||
間に閉じてしまいました。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr bind 2 ,
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.5.2.4 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.5.2.5 2001/03/06 16:46:05 ru Exp %
|
||||
.\"
|
||||
.Dd January 19, 2000
|
||||
.Dt AIO_CANCEL 2
|
||||
|
@ -73,7 +73,7 @@
|
|||
.Xr aio_read 2 ,
|
||||
.Xr aio_return 2 ,
|
||||
.Xr aio_suspend 2 ,
|
||||
.Xr aio_write 2 .
|
||||
.Xr aio_write 2
|
||||
.Sh エラー
|
||||
.Fn aio_cancel
|
||||
から返されるエラーは、次のことを示します:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_error.2,v 1.6.2.3 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_error.2,v 1.6.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd June 2, 1999
|
||||
.Dt AIO_ERROR 2
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_return.2,v 1.5.2.3 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_return.2,v 1.5.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd June 2, 1999
|
||||
.Dt AIO_RETURN 2
|
||||
|
@ -70,7 +70,7 @@
|
|||
.Xr aio_write 2 ,
|
||||
.Xr fsync 2 ,
|
||||
.Xr read 2 ,
|
||||
.Xr write 2 .
|
||||
.Xr write 2
|
||||
.Sh エラー
|
||||
.Fn aio_return
|
||||
は次の場合に失敗します。
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.8.2.2 2000/08/23 00:45:18 jhb Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.8.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd June 2, 1999
|
||||
.Dt AIO_SUSPEND 2
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_waitcomplete.2,v 1.1.2.4 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/aio_waitcomplete.2,v 1.1.2.5 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd January 19, 2000
|
||||
.Dt AIO_WAITCOMPLETE 2
|
||||
|
@ -35,7 +35,7 @@
|
|||
.Sh 書式
|
||||
.Fd #include <aio.h>
|
||||
.Ft int
|
||||
.Fn aio_waitcomplete "struct aiocb **iocbp, struct timeval *timeout"
|
||||
.Fn aio_waitcomplete "struct aiocb **iocbp" "struct timespec *timeout"
|
||||
.Sh 解説
|
||||
.Fn aio_waitcomplete
|
||||
関数は非同期入出力の完了まで待ちます。完了次第、
|
||||
|
@ -84,7 +84,7 @@
|
|||
を返し、iocbp に
|
||||
.Dv NULL
|
||||
を設定します。そして、
|
||||
.Dv errno
|
||||
.Va errno
|
||||
にエラーの状況を設定します。
|
||||
.Sh エラー
|
||||
.Fn aio_waitcomplete
|
||||
|
@ -114,7 +114,7 @@
|
|||
.Xr aio_write 2 ,
|
||||
.Xr fsync 2 ,
|
||||
.Xr read 2 ,
|
||||
.Xr write 2 .
|
||||
.Xr write 2
|
||||
.Sh 規格
|
||||
.Fn aio_waitcomplete
|
||||
関数は
|
||||
|
|
|
@ -65,7 +65,7 @@ UNIX
|
|||
アドレスのバインドで使用される規則は通信ドメイン間で異なります。
|
||||
詳細については、
|
||||
セクション 4 のマニュアルエントリを参照してください。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn bind
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)brk.2 8.4 (Berkeley) 5/1/95
|
||||
.\" %FreeBSD: src/lib/libc/sys/brk.2,v 1.13.2.3 2000/12/29 14:44:51 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/brk.2,v 1.13.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd May 1, 1995
|
||||
.Dt BRK 2
|
||||
|
@ -79,9 +79,9 @@ brk
|
|||
の呼び出しから返された
|
||||
.Em rlim_max
|
||||
値を越えるブレークを設定することはできません。たとえば、
|
||||
.Dq etext + rlp\(->rlim_max
|
||||
.Dq Va etext No + Va rlp\->rlim_max
|
||||
です
|
||||
.Pf ( Em etext
|
||||
.Pf ( Va etext
|
||||
の定義については
|
||||
.Xr end 3
|
||||
を参照してください)。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" $OpenBSD: clock_gettime.2,v 1.4 1997/05/08 20:21:16 kstailey Exp $
|
||||
.\" %FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.3.2.3 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.3.2.4 2001/01/16 10:33:28 ru Exp %
|
||||
.\"
|
||||
.\" Copyright (c) 1980, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
.Dq Li fcntl(d, F_SETFD, 0)
|
||||
呼び出しはこれをデフォルトに戻します。デフォルトでは、
|
||||
記述子はクローズされません。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn close
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
を複数回使用してその結び付けを変更できます。データグラム
|
||||
ソケットは、NULL アドレスのような無効なアドレスに接続することによって
|
||||
結び付けを解除できます。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn connect
|
||||
|
|
|
@ -108,7 +108,7 @@ close-on-exec
|
|||
が有効な記述子の場合、
|
||||
.Fn dup2
|
||||
は正常に終了し、何もしません。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリ
|
||||
.Fn dup
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)execve.2 8.5 (Berkeley) 6/1/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/execve.2,v 1.16.2.4 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/execve.2,v 1.16.2.5 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd June 1, 1994
|
||||
.Dt EXECVE 2
|
||||
|
@ -56,12 +56,14 @@
|
|||
データのページが続いたもので構成されます。このデータは
|
||||
初期プログラム (テキスト) と初期値ありデータのページを表します。
|
||||
追加のページはヘッダの指定によって 0 データで初期化される場合があります。
|
||||
.Xr elf 5
|
||||
および
|
||||
.Xr a.out 5
|
||||
を参照してください。
|
||||
.Pp
|
||||
インタプリタファイルは次の形式の行で開始します。
|
||||
.Pp
|
||||
.Bd -filled -offset indent -compact
|
||||
.Bd -ragged -offset indent -compact
|
||||
.Sy \&#!
|
||||
.Em interpreter
|
||||
.Bq Em arg
|
||||
|
@ -188,7 +190,7 @@ char **argv, **envp;
|
|||
の要素数 (``arg count'') であり、
|
||||
.Fa argv
|
||||
は、引数自身を指す文字ポインタの配列を指します。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn execve
|
||||
|
@ -278,6 +280,8 @@ char **argv, **envp;
|
|||
.Xr execl 3 ,
|
||||
.Xr exit 3 ,
|
||||
.Xr sysctl 3 ,
|
||||
.Xr a.out 5 ,
|
||||
.Xr elf 5 ,
|
||||
.Xr environ 7 ,
|
||||
.Xr mount 8
|
||||
.Sh 歴史
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)fcntl.2 8.2 (Berkeley) 1/12/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/fcntl.2,v 1.16.2.3 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/fcntl.2,v 1.16.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd January 12, 1994
|
||||
.Dt FCNTL 2
|
||||
|
@ -194,11 +194,11 @@ struct flock {
|
|||
ロック記述に従ってファイルセグメントロックを設定またはクリアします。
|
||||
.Dv F_SETLK
|
||||
は、共有 (または読取り) ロック
|
||||
.Dv (F_RDLCK)
|
||||
.Pq Dv F_RDLCK
|
||||
または排他的 (または書込み) ロック
|
||||
.Dv (F_WRLCK)
|
||||
.Pq Dv F_WRLCK
|
||||
を確立、ならびにいずれかのタイプのロックを解除
|
||||
.Dv (F_UNLCK)
|
||||
.Pq Dv F_UNLCK
|
||||
するのに使用されます。
|
||||
共有ロックまたは排他的ロックが設定できない場合、
|
||||
.Fn fcntl
|
||||
|
@ -344,7 +344,7 @@ struct flock {
|
|||
デッドロックを引き起こす可能性を検出すると、
|
||||
.Er EDEADLK
|
||||
エラーで失敗します。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn fcntl
|
||||
|
@ -397,12 +397,12 @@ struct flock {
|
|||
は
|
||||
.Dv F_SETLK
|
||||
であり、ロックのタイプ
|
||||
.Fa (l_type)
|
||||
.Pq Fa l_type
|
||||
は共有ロック
|
||||
.Dv (F_RDLCK)
|
||||
.Pq Dv F_RDLCK
|
||||
、または
|
||||
排他的ロック
|
||||
.Dv (F_WRLCK)
|
||||
.Pq Dv F_WRLCK
|
||||
で、ロックされるはずのファイルの
|
||||
セグメントは既に別のプロセスによって排他的に
|
||||
ロックされています。または、タイプが排他的なロックで、
|
||||
|
@ -419,9 +419,9 @@ struct flock {
|
|||
または
|
||||
.Dv F_SETLKW
|
||||
で、かつロックタイプ
|
||||
.Fa (l_type)
|
||||
.Pq Fa l_type
|
||||
が共有ロック
|
||||
.Dv (F_RDLCK)
|
||||
.Pq Dv F_RDLCK
|
||||
のとき、
|
||||
.Fa fildes
|
||||
は読取り用に開かれた有効なファイル記述子ではありません。
|
||||
|
@ -433,9 +433,9 @@ struct flock {
|
|||
または
|
||||
.Dv F_SETLKW
|
||||
で、かつロックタイプ
|
||||
.Fa (l_type)
|
||||
.Pq Fa l_type
|
||||
が排他的ロック
|
||||
.Dv (F_WRLCK)
|
||||
.Pq Dv F_WRLCK
|
||||
のとき、
|
||||
.Fa fildes
|
||||
は書込み用に開かれた有効なファイル記述子ではありません。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" %NetBSD: fhopen.2,v 1.1 1999/06/30 01:32:15 wrstuden Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/fhopen.2,v 1.4.2.1 2000/04/22 17:06:52 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/fhopen.2,v 1.4.2.2 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.\" Copyright (c) 1999 National Aeronautics & Space Administration
|
||||
.\" All rights reserved.
|
||||
|
|
|
@ -116,7 +116,7 @@ flock()
|
|||
ファイルをアンロックする場合、親プロセスはそのロックを失います。
|
||||
.Pp
|
||||
ロックを待ってブロックしているプロセスはシグナルで起こされるかもしれません。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn flock
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
.Fn fsync
|
||||
は、ファイルが既知の状態にあることを要求するプログラムによって
|
||||
使用される必要があります。たとえば、簡単なトランザクション機能の構築です。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn fsync
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getdirentries.2 8.2 (Berkeley) 5/3/95
|
||||
.\" %FreeBSD: src/lib/libc/sys/getdirentries.2,v 1.12.2.2 2000/08/23 00:45:18 jhb Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/getdirentries.2,v 1.12.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd May 3, 1995
|
||||
.Dt GETDIRENTRIES 2
|
||||
|
@ -132,10 +132,10 @@ char d_name[MAXNAMELEN + 1]; /*
|
|||
.Xr lseek 2
|
||||
が返す値、
|
||||
.Fa basep
|
||||
が指す場所に返される値 (
|
||||
.Ns Fn getdirentries
|
||||
が指す場所に返される値
|
||||
.Pf ( Fn getdirentries
|
||||
のみ)、または 0 のいずれかにのみ設定するべきです。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn getdirentries
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getlogin.2 8.1 (Berkeley) 6/9/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/getlogin.2,v 1.14.2.1 2000/04/22 17:06:54 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/getlogin.2,v 1.14.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd June 9, 1993
|
||||
.Dt GETLOGIN 2
|
||||
|
@ -47,7 +47,7 @@
|
|||
.Ft char *
|
||||
.Fn getlogin void
|
||||
.Fd #include <sys/param.h>
|
||||
.Ft char *
|
||||
.Ft int
|
||||
.Fn getlogin_r "char *name" "int len"
|
||||
.Ft int
|
||||
.Fn setlogin "const char *name"
|
||||
|
@ -85,8 +85,8 @@
|
|||
(たとえば、ログイン時、またはリモートシェルが
|
||||
起動されるときです)。
|
||||
.Pp
|
||||
.Em 注釈:
|
||||
`セッション' ごとに 1 つの `ログイン名' しかありません。
|
||||
.Em 注釈 :
|
||||
セッションごとに 1 つのログイン名しかありません。
|
||||
.Pp
|
||||
プロセスが、確実に親のセッションから切り離されるような
|
||||
適切なステップを取った後にのみ、
|
||||
|
@ -106,9 +106,9 @@
|
|||
フォークでバックグラウンドに入る理想的な方法です。
|
||||
.Pp
|
||||
特に、
|
||||
.Fn ioctl ttyfd TIOCNOTTY ...
|
||||
.Fn ioctl ttyfd TIOCNOTTY ...\&
|
||||
または
|
||||
.Fn setpgrp ...
|
||||
.Fn setpgrp ...\&
|
||||
では十分では
|
||||
.Em ありません。
|
||||
.Pp
|
||||
|
@ -130,18 +130,18 @@
|
|||
.Fn getlogin
|
||||
の呼び出しが成功すると、静的バッファ内のヌルで終端された文字列への
|
||||
ポインタが返されます。
|
||||
.Fn getlogin_r
|
||||
の呼び出しが成功すると、呼び出し側が渡したバッファへのポインタが
|
||||
返されます。
|
||||
名前が設定されていない場合は、どちらも
|
||||
名前が設定されていない場合は、
|
||||
.Dv NULL
|
||||
が返されます。
|
||||
.Fn getlogin_r
|
||||
の呼び出しが成功すると、0 が返されます。失敗するとエラー番号
|
||||
が返されます。
|
||||
.Pp
|
||||
.Fn setlogin
|
||||
の呼び出しが成功すると
|
||||
値 0 が返されます。
|
||||
.Fn setlogin
|
||||
が処理を失敗すると値 -1 が返され、エラーコードがグローバル位置
|
||||
が処理を失敗すると値 -1 が返され、エラーコードがグローバル変数
|
||||
.Va errno
|
||||
に設定されます。
|
||||
.Sh エラー
|
||||
|
@ -159,6 +159,8 @@
|
|||
.It Bq Er EPERM
|
||||
ログイン名を設定しようとした呼び出し元が
|
||||
スーパユーザではありませんでした。
|
||||
.It Bq Er ERANGE
|
||||
返される結果よりバッファのサイズが小さすぎます。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr setsid 2 ,
|
||||
|
@ -180,3 +182,16 @@ getlogin
|
|||
関数は
|
||||
.Bx 4.4
|
||||
ではじめて登場しました。
|
||||
.Fn getlogin_r
|
||||
の戻り値は
|
||||
.St -p1003.1-96
|
||||
に準拠するために
|
||||
.Fx
|
||||
の初期のバージョンから変更されました。
|
||||
.Sh 規格
|
||||
.Fn getlogin
|
||||
と
|
||||
.Fn getlogin_r
|
||||
は
|
||||
.St -p1003.1-96
|
||||
に準拠しています。
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
戻る時に、これには返された名前の
|
||||
実際のサイズ (バイト単位) が入れられます。
|
||||
準備されたバッファが小さすぎる場合、名前は切り捨てられます。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn getpeername
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getpid.2 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/getpid.2,v 1.8.2.1 2000/04/22 17:06:54 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/getpid.2,v 1.8.2.2 2001/02/18 02:36:34 kris Exp %
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt GETPID 2
|
||||
|
@ -51,8 +51,12 @@
|
|||
.Sh 解説
|
||||
.Fn getpid
|
||||
は呼び出しプロセスのプロセス ID を返します。
|
||||
ID はユニークであることが保証されており、
|
||||
一時的なファイルの名前を作成するのに便利です。
|
||||
ID はユニークであることが保証されていますが、
|
||||
テンポラリファイル名の作成に利用しては
|
||||
.Em いけません。
|
||||
セキュリティ上の理由については、
|
||||
.Xr mkstemp 3
|
||||
を参照してください。
|
||||
.Pp
|
||||
.Fn getppid
|
||||
は呼び出しプロセスの親のプロセス ID を返します。
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/getsid.2,v 1.3.2.1 2000/04/22 17:06:55 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/getsid.2,v 1.3.2.2 2001/03/09 15:14:15 ru Exp %
|
||||
.\"
|
||||
.Dd August 19, 1997
|
||||
.Dt GETSID 2
|
||||
|
@ -76,8 +76,6 @@
|
|||
.Fx 3.0
|
||||
ではじめて登場しました。
|
||||
.Fn getsid
|
||||
.\" jp-man: getsid.2 の原文は setsid になっていました。
|
||||
.\" 2001/03/09 send-pr 済 (docs/25626)
|
||||
関数呼び出しは
|
||||
.At V
|
||||
での使用法に由来しています。
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
.Fa name
|
||||
が指す空間の量を示すように初期化しておく必要があります。
|
||||
戻る時には返された名前の実際のサイズ (バイト単位) が入ります。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn getsockname
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95
|
||||
.\" %FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.12.2.4 2000/08/23 00:45:19 jhb Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.12.2.5 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd May 2, 1995
|
||||
.Dt GETSOCKOPT 2
|
||||
|
@ -339,7 +339,7 @@ NULL
|
|||
はソケット上で延期中のエラーを返し、エラー状態をクリアします。
|
||||
これは接続されたデータグラムソケット上の非同期的エラーをチェックしたり、
|
||||
その他の非同期エラーをチェックするのに使用できます。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn getsockopt
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)gettimeofday.2 8.2 (Berkeley) 5/26/95
|
||||
.\" %FreeBSD: src/lib/libc/sys/gettimeofday.2,v 1.9.2.3 2000/12/08 13:49:31 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/gettimeofday.2,v 1.9.2.4 2001/01/16 10:33:28 ru Exp %
|
||||
.\"
|
||||
.Dd May 26, 1995
|
||||
.Dt GETTIMEOFDAY 2
|
||||
|
|
|
@ -82,7 +82,7 @@ ioctl
|
|||
はファイル
|
||||
.Ao Pa sys/ioctl.h Ac
|
||||
の中にあります。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリ
|
||||
.Fn ioctl
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)kill.2 8.3 (Berkeley) 4/19/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/kill.2,v 1.10.2.2 2000/05/06 13:34:14 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/kill.2,v 1.10.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd April 19, 1994
|
||||
.Dt KILL 2
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/kldstat.2,v 1.5.2.4 2000/12/29 14:44:52 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/kldstat.2,v 1.5.2.5 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd March 3, 1999
|
||||
.Dt KLDSTAT 2
|
||||
|
@ -80,7 +80,10 @@ kld
|
|||
.El
|
||||
.Sh 戻り値
|
||||
.Fn kldstat
|
||||
は、必ず 0 を返すように見えます。
|
||||
関数は、処理に成功した場合には 0 を返します。
|
||||
失敗した場合には -1 を返し、エラーを示すために
|
||||
.Va errno
|
||||
を設定します。
|
||||
.Sh エラー
|
||||
次の場合を除いて、
|
||||
.Fa fileid
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.1.2.8 2000/12/29 14:44:52 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.1.2.9 2001/02/26 04:23:54 jlemon Exp %
|
||||
.\"
|
||||
.Dd April 14, 2000
|
||||
.Dt KQUEUE 2
|
||||
|
@ -36,33 +36,36 @@
|
|||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <sys/event.h>
|
||||
.Fd #include <sys/time.h>
|
||||
.Ft int
|
||||
.Fn kqueue "void"
|
||||
.Ft int
|
||||
.Fn kevent "int kq" "const struct kevent *changelist" "int nchanges" "struct kevent *eventlist" "int nevents" "const struct timespec *timeout"
|
||||
.Fn EV_SET "&kev" ident filter flags fflags data udata
|
||||
.Sh 解説
|
||||
.Fn kqueue
|
||||
は、イベントが発生したりある状態の時に、
|
||||
フィルタと呼ばれる小さなカーネルコードの実行結果に基づいて
|
||||
それをユーザに通知する一般的な方法を提供します。
|
||||
kevent は (識別子 ident とフィルタ filter) のペアによって識別されます。
|
||||
.\" kqueue 毎にユニークな kevent が 1 つだけ存在できます。
|
||||
1 つの kqueue には、複数の同じ kevent が存在することはできません。
|
||||
は、フィルタと呼ばれる小さなカーネルコードの実行結果に基づき、
|
||||
イベントの発生やある状態の成立を
|
||||
ユーザに通知する一般的な方法を提供します。
|
||||
kevent は (ident, filter) のペアによって識別されます。
|
||||
ここで、ident は識別子、filter はフィルタを表します。
|
||||
1 つの kqueue には、同じ kevent が複数存在することはできません。
|
||||
.Pp
|
||||
フィルタは、kevent の初期登録時に
|
||||
以前から存在した状態を検出するために実行されます。
|
||||
また、あるイベントが評価のためにフィルタに渡される度に実行されます。
|
||||
状態が報告されるべきであるとフィルタが決定した場合には、
|
||||
また、あるイベントが評価のためにフィルタに渡されるたびに実行されます。
|
||||
状態を報告すべきとフィルタが決定した場合には、
|
||||
その kevent はユーザが回収できるように kqueue に置かれます。
|
||||
.Pp
|
||||
ユーザが kqueue から kevent を回収しようとした時にも、
|
||||
ユーザが kqueue から kevent を回収しようとしたときにも、
|
||||
フィルタが実行されます。
|
||||
そのイベントがもはやトリガされた状態ではないことをフィルタが示している
|
||||
場合には、kevent は kqueue から削除され、戻りません。
|
||||
フィルタの実行により、そのイベントをトリガした状態が成立していないこと
|
||||
が示された場合には、その kevent は kqueue から削除され、
|
||||
ユーザに渡されません。
|
||||
.Pp
|
||||
フィルタをトリガする複数のイベントは、
|
||||
kqueue の中の複数の kevent になるわけではありません。
|
||||
代わりに、フィルタは単一の kevent 構造体へそれらのイベントを集めます。
|
||||
フィルタをトリガするイベントが複数ある場合でも、
|
||||
kqueue の中に kevent が複数置かれるわけではありません。
|
||||
代わりに、フィルタは複数のイベントを単一の kevent 構造体へ集めます。
|
||||
ファイル記述子に対する
|
||||
.Fn close
|
||||
の呼び出しは、その記述子を参照しているあらゆる kevent を削除します。
|
||||
|
@ -74,23 +77,23 @@ kqueue
|
|||
で生成された子プロセスには継承されません。
|
||||
しかしながら、
|
||||
.Dv RFFDG
|
||||
フラグ付きで
|
||||
フラグなしで
|
||||
.Xr rfork 2
|
||||
が呼び出された場合には、記述子テーブルが共有され、2 つの
|
||||
プロセス間で kqueue の共有が可能になります。
|
||||
.Pp
|
||||
.Fn kevent
|
||||
はキューにイベントを登録するために使用され、かつ
|
||||
保留中のあらゆるイベントをユーザに返します。
|
||||
は、キューにイベントを登録し、保留中のあらゆるイベントを
|
||||
ユーザに返すために使用されます。
|
||||
.Fa changelist
|
||||
は
|
||||
.Va kevent
|
||||
構造体の配列へのポインタで、
|
||||
.Va kevent
|
||||
構造体の配列へのポインタです。この構造体は
|
||||
.Aq Pa event.h
|
||||
で定義されています。
|
||||
保留中のイベントをキューから読み込む前に、
|
||||
.Fa changelist
|
||||
に含まれている全ての変更は、
|
||||
保留中のあらゆるイベントがキューから読み込まれる前に適用されます。
|
||||
に含まれている全ての変更を適用します。
|
||||
.Fa nchanges
|
||||
は
|
||||
.Fa changelist
|
||||
|
@ -103,19 +106,26 @@ kqueue
|
|||
の大きさを決定します。
|
||||
.Fa timeout
|
||||
が NULL でないポインタの場合には、timespec 構造体であると解釈されて、
|
||||
イベントを待つ期限を指定します。
|
||||
イベントを待つ最大待ち時間を指定します。
|
||||
.Fa timeout
|
||||
が NULL ポインタの場合には、
|
||||
.Fn kevent
|
||||
は無期限に待ちます。
|
||||
ポーリングを行なうには、
|
||||
ポーリングの効果を得るためには、
|
||||
.Fa timeout
|
||||
引数は 0 を示す
|
||||
引数に、0 を示す
|
||||
.Va timespec
|
||||
構造体を指す、非 NULL のポインタであるべきです。
|
||||
構造体を指す非 NULL のポインタを与えるべきです。
|
||||
.Fa changelist
|
||||
と
|
||||
.Fa eventlist
|
||||
用に同じ配列を使うことができます。
|
||||
.Pp
|
||||
.Fn EV_SET
|
||||
は kevent 構造体の初期化を簡単にするマクロです。
|
||||
.Pp
|
||||
.Va kevent
|
||||
構造体は以下の様に定義されています。
|
||||
構造体は次のように定義されています。
|
||||
.Bd -literal
|
||||
struct kevent {
|
||||
uintptr_t ident; /* このイベントの識別子 */
|
||||
|
@ -133,26 +143,26 @@ struct kevent {
|
|||
.It ident
|
||||
このイベントを識別するために使用される値です。
|
||||
厳密な解釈は結び付けられたフィルタにより決定されますが、
|
||||
しばしばファイル記述子が使用されます。
|
||||
普通はファイル記述子として解釈されます。
|
||||
.It filter
|
||||
このイベントを処理するために使用されるカーネルフィルタを識別します。
|
||||
あらかじめ定義されたシステムフィルタは後述してあります。
|
||||
.It flags
|
||||
イベント発生時に実行するべきアクションです。
|
||||
.It fflags
|
||||
フィルタ特有のフラグです。
|
||||
フィルタ固有のフラグです。
|
||||
.It data
|
||||
フィルタ特有のデータの値です。
|
||||
フィルタ固有のデータの値です。
|
||||
.It udata
|
||||
変更されずにカーネルを通して渡される不透明なユーザー定義の値です。
|
||||
.El
|
||||
.Pp
|
||||
.Va flags
|
||||
フィールドは以下の値を含むことが出来ます。
|
||||
フィールドは以下の値を含むことができます。
|
||||
.Bl -tag -width XXXEV_ONESHOT
|
||||
.It EV_ADD
|
||||
イベントを kqueue に追加します。
|
||||
既存のイベントの再追加は、元のイベントのパラメータを変更するもので、
|
||||
既存のイベントを再び追加すると、元のイベントのパラメータが変更されます。
|
||||
重複するエントリができるわけではありません。
|
||||
イベントを追加すると、EV_DISABLE フラグによって上書きされない限りは
|
||||
自動的に有効にされます。
|
||||
|
@ -170,7 +180,7 @@ kqueue
|
|||
ファイル記述子に結び付けられているイベントは、
|
||||
その記述子の最後のクローズ時に自動的に削除されます。
|
||||
.It EV_ONESHOT
|
||||
フィルタが最初トリガされた時にのみ、イベントが返るようにします。
|
||||
フィルタが最初トリガされたときにのみ、イベントが返るようにします。
|
||||
ユーザがイベントを kqueue から回収した後で、そのイベントは削除されます。
|
||||
.It EV_CLEAR
|
||||
ユーザがイベントを回収した後に、その状態をリセットします。
|
||||
|
@ -178,15 +188,15 @@ kqueue
|
|||
幾つかのフィルタは内部でこのフラグを自動的にセットしている
|
||||
かもしれないことに注意してください。
|
||||
.It EV_EOF
|
||||
フィルタはそのフィルタ特有の EOF 状態であることをを示すために
|
||||
このフラグをセットすることができます。
|
||||
そのフィルタ固有の EOF 状態であることをを示すために、
|
||||
フィルタがこのフラグをセットすることがあります。
|
||||
.It EV_ERROR
|
||||
後述の
|
||||
.Sx 戻り値
|
||||
を参照してください。
|
||||
.El
|
||||
.Pp
|
||||
あらかじめ定義されたシステムフィルタを以下に示します。
|
||||
あらかじめ定義されたシステムフィルタを次に示します。
|
||||
引数は kevent 構造体の
|
||||
.Va fflags
|
||||
および
|
||||
|
@ -194,99 +204,131 @@ kqueue
|
|||
フィールドを経由してやりとりすることができます。
|
||||
.Bl -tag -width EVFILT_SIGNAL
|
||||
.It EVFILT_READ
|
||||
記述子をその識別子として取り、読み込める有効なデータがある時に戻ります。
|
||||
識別子に記述子を引数として取ります。
|
||||
読み込み可能なデータがあるときに戻ります。
|
||||
このフィルタの振舞いは、その記述子の型により少し異なります。
|
||||
.Pp
|
||||
.Bl -tag -width 2n
|
||||
.It ソケット
|
||||
前もって
|
||||
事前に
|
||||
.Fn listen
|
||||
に渡されたソケットは、保留中の次の接続がある時に戻ります。
|
||||
に渡されたソケットの場合、保留中の次の接続があるときに戻ります。
|
||||
.Va data
|
||||
は listen のバックログ (backlog) の大きさが入っています。
|
||||
には listen のバックログ (backlog) の大きさが入っています。
|
||||
.Pp
|
||||
その他のソケット記述子は、ソケットバッファの SO_RCVLOWAT 値を基準にして、
|
||||
読み込むべきデータがある時に戻ります。
|
||||
その他のソケット記述子の場合、ソケットバッファの
|
||||
.Dv SO_RCVLOWAT
|
||||
の値を基準にして、読み込むデータがあるときに戻ります。
|
||||
フィルタを追加するときに、
|
||||
.Va fflags
|
||||
に NOTE_LOWAT を設定し
|
||||
.Va data
|
||||
はソケットバッファの中のバイト数が入っています。
|
||||
に新しい最低基準値を指定することにより、
|
||||
この値を、
|
||||
フィルタごとの最低基準値で上書きすることが可能です。戻るときには、
|
||||
.Va data
|
||||
にはソケットバッファの中のバイト数が入っています。
|
||||
.Pp
|
||||
ソケットの読み込み方向が切断された場合には、フィルタは
|
||||
ソケットの読み込み側が切断された場合には、フィルタは
|
||||
.Va flags
|
||||
に EV_EOF もセットします。
|
||||
ソケットバッファの中に保留中のデータが
|
||||
残っていても、(接続が切れたことを示す) EOF が返されることがあります。
|
||||
に EV_EOF も設定します。ここでエラーが起きた場合には、
|
||||
.Va fflags
|
||||
にソケットエラーを返します。
|
||||
ソケットバッファの中に保留中のデータが残っていても、
|
||||
(接続が切れたことを示す) EOF が返されることがあります。
|
||||
.It v ノード
|
||||
ファイルポインタがファイルの最後 (EOF) でない時に戻ります。
|
||||
ファイルポインタがファイルの最後 (EOF) でないときに戻ります。
|
||||
.Va data
|
||||
は現在位置からファイルの最後 (EOF) までのオフセットが入っています。
|
||||
この値は負であるかもしれません。
|
||||
.It FIFO とパイプ
|
||||
読み込むべきデータがある時に戻ります。
|
||||
読み込むべきデータがあるときに戻ります。
|
||||
.Va data
|
||||
には有効なバイト数が入っています。
|
||||
.Pp
|
||||
最後に書き込んだ者が切断した時に、フィルタは
|
||||
最後の書き込み側が切断したときに、フィルタは
|
||||
.Va flags
|
||||
に EV_EOF をセットします。
|
||||
これは、EV_CLEAR を渡すことでクリアすることができ、
|
||||
データが読み込めるようになるのを、戻る前に再び待つようにフィルタに指示します。
|
||||
EV_CLEAR を渡すことで、このフラグをクリアすることができ、
|
||||
フィルタはデータが読み込めるように
|
||||
なるのを戻らずに再び待ちます。
|
||||
.El
|
||||
.It EVFILT_WRITE
|
||||
記述子をその識別子として取り、その記述子が書き込み可能になる度に戻ります。
|
||||
識別子に記述子を引数として取ります。
|
||||
その記述子が書き込み可能になるたびに戻ります。
|
||||
ソケット、パイプおよび FIFO では、
|
||||
.Va data
|
||||
は書き込みバッファの残り領域の大きさが入っています。
|
||||
フィルタは読み込み側が切断した時に、EV_EOF をセットし、
|
||||
FIFO の場合は EV_CLEAR によってクリアすることができます。
|
||||
には書き込みバッファの残り領域の大きさが入っています。
|
||||
読み込み側が切断したときに、フィルタは EV_EOF をセットします。
|
||||
FIFO の場合、EV_CLEAR を使いこれをクリアすることができます。
|
||||
このフィルタは vnode をサポートしていないことに注意してください。
|
||||
.Pp
|
||||
ソケットの場合、最低基準値およびソケットエラーの取り扱いは
|
||||
EVFULT_READ の場合と同じです。
|
||||
.It EVFILT_AIO
|
||||
イベントが結び付けられるべき kqueue の記述子が入っている
|
||||
.Va ident
|
||||
で kevent 構造体が初期化されます。
|
||||
kevent 構造体のアドレスは AIO リクエストの
|
||||
.Va aio_lio_opcode
|
||||
フィールドに置かれて、それから aio_* 関数が呼び出されます。
|
||||
イベントは指定された kqueue に登録され、
|
||||
.Va ident
|
||||
引数は aio_* 関数によって返される
|
||||
非同期入出力リクエストの sigevent 部分の、
|
||||
.Va sigev_notify_kqueue
|
||||
にはイベントを付加する kqueue の記述子を入れ、
|
||||
.Va sigev_value
|
||||
には udata の値を入れ、
|
||||
.Va sigev_notify
|
||||
には SIGEV_EVENT を入れて、非同期入出力リクエストを埋めます。
|
||||
aio_* 関数が呼び出されたとき、そのイベントは
|
||||
指定された kqueue に登録されます。aio_* 関数が返した
|
||||
.Fa aiocb
|
||||
構造体がセットされます。
|
||||
構造体を
|
||||
.Va ident
|
||||
引数にセットします。
|
||||
このフィルタは aio_error と同様の条件で戻ります。
|
||||
.Pp
|
||||
注意: このインターフェイスは不安定で、
|
||||
変更されることがあります。
|
||||
別の方法として、
|
||||
.Va ident
|
||||
に kqueue 記述子を入れて kevent 構造体を初期化し、
|
||||
そのアドレスを非同期リクエストの
|
||||
.Va aio_lio_opcode
|
||||
フィールドに置くことも可能です。
|
||||
しかしながら、このアプローチは 64 ビットポインタのアーキテクチャでは
|
||||
動作しないでしょうし、あてにするべきではありません。
|
||||
.It EVFILT_VNODE
|
||||
記述子をその識別子として、監視するイベントを
|
||||
ファイル記述子を識別子に、監視するイベントを
|
||||
.Va fflags
|
||||
に取り、
|
||||
その記述子について 1 つ以上の要求されたイベントが発生した時に戻ります。
|
||||
に引数として取ります。
|
||||
指定した記述子に対し
|
||||
要求されたイベントが 1 つ以上発生したときに戻ります。
|
||||
監視するイベントを以下に示します。
|
||||
.Bl -tag -width XXNOTE_RENAME
|
||||
.It NOTE_DELETE
|
||||
記述子によって参照されるファイルについて
|
||||
記述子が参照するファイルに対し
|
||||
.Fn unlink
|
||||
が呼ばれました。
|
||||
.It NOTE_WRITE
|
||||
記述子によって参照されるファイルについて書き込みが起こりました。
|
||||
記述子が参照するファイルに対し書き込みが起こりました。
|
||||
.It NOTE_EXTEND
|
||||
記述子によって参照されるファイルがサイズ拡張されました。
|
||||
記述子が参照するファイルのサイズが拡張されました。
|
||||
.It NOTE_ATTRIB
|
||||
記述子によって参照されるファイルの属性が変更されました。
|
||||
記述子が参照するファイルの属性が変更されました。
|
||||
.It NOTE_LINK
|
||||
ファイルのリンク数が変更されました。
|
||||
.It NOTE_RENAME
|
||||
記述子によって参照されるファイルがリネームされました。
|
||||
記述子が参照するファイルがリネームされました。
|
||||
.It NOTE_REVOKE
|
||||
ファイルへのアクセスが
|
||||
.Xr revoke 2
|
||||
によって無効にされたか、もしくは、下位層のファイルシステムが
|
||||
マウントされていません。
|
||||
.El
|
||||
.Pp
|
||||
戻る時に、
|
||||
戻るときに、
|
||||
.Va fflags
|
||||
はフィルタをトリガしたイベントが入っています。
|
||||
にフィルタをトリガしたイベントが入っています。
|
||||
.It EVFILT_PROC
|
||||
監視するプロセス ID をその識別子として、監視するイベントを
|
||||
監視するプロセス ID を識別子に、監視するイベントを
|
||||
.Va fflags
|
||||
に取り、1 つ以上の要求されたイベントをプロセスが実行する時に戻ります。
|
||||
あるプロセスが他のプロセスを正常に見ることが出来る場合には、
|
||||
そのプロセス自身のイベントを結び付けることが出来ます。
|
||||
監視するイベントを下記に示します。
|
||||
に引数として取ります。
|
||||
要求されたイベントを 1 つ以上プロセスが実行するときに戻ります。
|
||||
あるプロセスが他のプロセスを正常に見ることができる場合には、
|
||||
イベントをそのプロセスに結び付けることができます。
|
||||
監視するイベントを次に示します。
|
||||
.Bl -tag -width XXNOTE_TRACKERR
|
||||
.It NOTE_EXIT
|
||||
プロセスが終了しました。
|
||||
|
@ -297,10 +339,10 @@ kevent
|
|||
.It NOTE_EXEC
|
||||
プロセスが
|
||||
.Xr execve 2
|
||||
または類似の呼び出しを通して、新規のプロセスを実行しました。
|
||||
または類似の呼び出しにより、新規のプロセスを実行しました。
|
||||
.It NOTE_TRACK
|
||||
.Fn fork
|
||||
の呼び出しを通して、プロセスを追跡します。
|
||||
の呼び出しを越えて、プロセスを追跡します。
|
||||
親プロセスは
|
||||
.Va fflags
|
||||
フィールドに NOTE_TRACK をセットして戻り、一方、子プロセスは
|
||||
|
@ -309,16 +351,17 @@ kevent
|
|||
.Va data
|
||||
に親プロセスの PID をセットし戻ります。
|
||||
.It NOTE_TRACKERR
|
||||
このフラグは、通常は資源の制限のためシステムが子プロセスへのイベントを
|
||||
結び付けることができなかった時に戻ります。
|
||||
このフラグは、システムが子プロセスへのイベントを
|
||||
結び付けることができなかったときに戻ります。
|
||||
通常、これは資源の制限により生じます。
|
||||
.El
|
||||
.Pp
|
||||
戻る時に、
|
||||
戻るときに、
|
||||
.Va fflags
|
||||
はフィルタをトリガしたイベントが入っています。
|
||||
.It EVFILT_SIGNAL
|
||||
監視するシグナル番号を識別子として取り、
|
||||
与えられたシグナルがプロセスに配送された時に戻ります。
|
||||
監視するシグナル番号を識別子に引数として取ります。
|
||||
与えられたシグナルがプロセスに配送されたときに戻ります。
|
||||
これは
|
||||
.Fn signal
|
||||
および
|
||||
|
@ -337,18 +380,19 @@ kevent
|
|||
.Fn kqueue
|
||||
は新規のカーネルイベントキューを生成し、ファイル記述子を返します。
|
||||
カーネルイベントキューの生成時にエラーがあった場合には、
|
||||
値 -1 が返されて errno をセットします。
|
||||
値 -1 が返されて errno がセットされます。
|
||||
.Pp
|
||||
.Fn kevent
|
||||
は最大
|
||||
.Fa nevents
|
||||
で与えられた値までの
|
||||
は
|
||||
.Fa eventlist
|
||||
に配列されているイベントの数を返します。
|
||||
この数は、最大
|
||||
.Fa nevents
|
||||
で与えられた値までです。
|
||||
.Fa changelist
|
||||
の要素の処理中にエラーが発生した場合と、
|
||||
の要素の処理中にエラーが発生し、かつ
|
||||
.Fa eventlist
|
||||
に十分な余地が無い場合には、
|
||||
に十分な余地がある場合には、
|
||||
.Va flags
|
||||
に
|
||||
.Dv EV_ERROR
|
||||
|
@ -361,7 +405,7 @@ kevent
|
|||
.Dv -1
|
||||
が返され、
|
||||
.Dv errno
|
||||
がエラー状態を示す為にセットされます。
|
||||
がエラー状態を示すためにセットされます。
|
||||
時間切れの場合には、
|
||||
.Fn kevent
|
||||
は 0 を返します。
|
||||
|
@ -397,7 +441,7 @@ kevent
|
|||
.It Bq Er ENOMEM
|
||||
イベント登録のためのメモリがありません。
|
||||
.It Bq Er ESRCH
|
||||
指定された結び付けられるべきプロセスが存在しません。
|
||||
結び付けるために指定したプロセスが存在しません。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr aio_error 2 ,
|
||||
|
@ -418,10 +462,10 @@ kevent
|
|||
で初めて登場しました。
|
||||
.Sh 作者
|
||||
.Fn kqueue
|
||||
システムとこのマニュアルページは
|
||||
システムと、このマニュアルページは
|
||||
.An Jonathan Lemon Aq jlemon@FreeBSD.org
|
||||
が書きました。
|
||||
.Sh バグ
|
||||
現在は、UFS ファイルシステム以外の全てに属する
|
||||
現在は、UFS ファイルシステムに属さない
|
||||
.Xr vnode 9
|
||||
を監視することが出来ません。
|
||||
を監視することができません。
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)listen.2 8.2 (Berkeley) 12/11/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/listen.2,v 1.12.2.3 2000/08/23 00:45:19 jhb Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/listen.2,v 1.12.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd November 3, 1995
|
||||
.Dt LISTEN 2
|
||||
|
@ -62,7 +62,7 @@
|
|||
.Pp
|
||||
.Fa backlog
|
||||
パラメータは、延期中の接続の待ち行列を伸ばす際の最大長を定義します。
|
||||
待ち行列が一杯のときに接続要求が到着すると、クライアントは
|
||||
待ち行列が満杯のときに接続要求が到着すると、クライアントは
|
||||
.Er ECONNREFUSED
|
||||
を示すエラーを受信する可能性があります。
|
||||
または下層のプロトコルが再送信をサポートする場合は、
|
||||
|
@ -70,17 +70,17 @@
|
|||
.Pp
|
||||
.Xr sysctl 3
|
||||
MIB 変数
|
||||
.Dq Li kern.ipc.somaxconn
|
||||
.Dq Va kern.ipc.somaxconn
|
||||
は
|
||||
.Fa backlog
|
||||
のハードリミットを指定します。
|
||||
.Li kern.ipc.somaxconn
|
||||
.Va kern.ipc.somaxconn
|
||||
より大きい値、または 0 より小さい値が指定されている場合、
|
||||
.Fa backlog
|
||||
の指定は無視されて
|
||||
.Li kern.ipc.somaxconn
|
||||
.Va kern.ipc.somaxconn
|
||||
の値にされます。
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリ
|
||||
.Fn listen
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)lseek.2 8.3 (Berkeley) 4/19/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/lseek.2,v 1.10.2.2 2000/05/06 13:34:14 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/lseek.2,v 1.10.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd April 19, 1994
|
||||
.Dt LSEEK 2
|
||||
|
|
|
@ -30,9 +30,11 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)madvise.2 8.1 (Berkeley) 6/9/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.17.2.2 2000/12/12 09:55:46 ru Exp %
|
||||
.\" WORD: revert 書き戻す(dirty なページをファイルシステムに書き込む)[madvise.2]
|
||||
.\" WORD: physically backing store 物理的バッキングストア(仮想記憶の裏にあるディスク領域、swap やファイルシステム?!)
|
||||
.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.17.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.\" WORD: revert 書き戻す(dirty なページをファイルシステムに書き込む)[madvise.2]
|
||||
.\" WORD: physically backing store 物理的バッキングストア
|
||||
.\" (仮想記憶の裏にあるディスク領域、swap やファイルシステム?!)
|
||||
.\"
|
||||
.Dd July 19, 1996
|
||||
.Dt MADVISE 2
|
||||
|
@ -62,13 +64,15 @@
|
|||
#define MADV_WILLNEED 3 /* これらのページを必要とする */
|
||||
#define MADV_DONTNEED 4 /* これらのページを必要としない */
|
||||
#define MADV_FREE 5 /* データは今や重要ではない */
|
||||
#define MADV_NOSYNC 6 /* 明示的に物理的バッキングストアがコミットされない場合 */
|
||||
#define MADV_AUTOSYNC 7 /* デフォルトは物理的バッキングストアにコミットされる */
|
||||
#define MADV_NOSYNC 6 /* 明示的に物理的バッキングストアが
|
||||
コミットされない場合 */
|
||||
#define MADV_AUTOSYNC 7 /* デフォルトは物理的バッキングストアに
|
||||
コミットされる */
|
||||
#define MADV_NOCORE 8 /* コアファイルにページを含まないこと */
|
||||
#define MADV_CORE 9 /* コアファイルにページを復帰させる */
|
||||
.Ed
|
||||
.Pp
|
||||
.Bl -tag -width MADV_SEQUENTIAL
|
||||
.Bl -tag -width MADV_SEQUENTIAL
|
||||
.It Dv MADV_NORMAL
|
||||
デフォルトのページング動作に戻るようにシステムに指示します。
|
||||
.It Dv MADV_RANDOM
|
||||
|
@ -80,12 +84,11 @@
|
|||
.It Dv MADV_WILLNEED
|
||||
指定の仮想アドレス範囲内にあるページが一時的に高い優先順位を持つようにし、
|
||||
それらがメモリ内にある場合、解放される可能性を減少させます。
|
||||
さらに既にメモリ内に
|
||||
あるページはただちにプロセスにマップされ、それによって
|
||||
プロセス全体にわたるフォルトによる読み込みによる
|
||||
さらに既にメモリ内にあるページはただちにプロセスにマップされ、
|
||||
それによってプロセス全体にわたるフォルトによる読み込みによる
|
||||
不要なオーバーヘッドを除去します。
|
||||
これは、フォルトによるページのバッキングストアからの読み込み
|
||||
を生じさせるのではなく、
|
||||
これは、フォルトによるページのバッキングストアからの
|
||||
読み込みを生じさせるのではなく、
|
||||
メモリ内に既にあるページを呼び出し側のプロセスに素早くマップさせます。
|
||||
.It Dv MADV_DONTNEED
|
||||
VM システムに、指定の範囲内のページのメモリ内優先順位の減少を許可します。
|
||||
|
@ -108,26 +111,19 @@ VM
|
|||
通常、これにより、ファイルシステムアップデートデーモンが
|
||||
VM システムが汚したページを特に理由もないのに
|
||||
物理ディスクに書込む不要な動作を防止します。
|
||||
VM とファイルシステムの一貫性は常に維持されることに注意して
|
||||
下さい。
|
||||
この機能は、
|
||||
マップされたデータが必要なときだけ、
|
||||
(通常、システムページャにより)フラッシュされることを
|
||||
VM とファイルシステムの一貫性は常に維持されることに注意してください。
|
||||
この機能は、マップされたデータが必要なときだけ、
|
||||
(通常、システムページャにより) フラッシュされることを
|
||||
保証しているに過ぎません。
|
||||
.Pp
|
||||
この機能を使用する典型的な場合とは、
|
||||
ファイルを裏に持つ共有メモリ領域をプロセス (IPC) 間通信で使いたいとき、
|
||||
とくに、その領域に格納されるデータを物理的ディスクに書き込む必要が
|
||||
ない場合です。
|
||||
この機能は、
|
||||
SysV 共有メモリ呼び出しで得られる mmap 性能と
|
||||
同等の性能を与えてくれますし、かつ、
|
||||
SysV 共有メモリ呼び出しを使うより、きめ細かい制御が可能で
|
||||
より制約が少ない方法でもあります。
|
||||
しかしこの機能は UNIX プラットホーム間で
|
||||
移植性がないことに注意してください
|
||||
(いくつかのプラットホームではデフォルトで
|
||||
正しく振る舞うかも知れませんが)。
|
||||
特に、その領域に格納されるデータを物理的ディスクに書き込む必要がない場合です。
|
||||
この機能は、SysV 共有メモリ呼び出しで得られる mmap 性能と
|
||||
同等の性能を与えてくれますし、かつ、SysV 共有メモリ呼び出しを使うより、
|
||||
きめ細かい制御が可能でより制約が少ない方法でもあります。
|
||||
しかしこの機能は UNIX プラットホーム間で移植性がないことに注意してください
|
||||
(いくつかのプラットホームではデフォルトで正しく振る舞うかも知れませんが)。
|
||||
詳しい情報に関しては、
|
||||
.Xr mmap 2
|
||||
の
|
||||
|
@ -150,8 +146,8 @@ MADV_NOSYNC
|
|||
.Sh 戻り値
|
||||
正常に完了すると
|
||||
.Fn madvise
|
||||
は 0 を返します。そうでない場合は値 -1 を
|
||||
返し、エラーを示すために
|
||||
は 0 を返します。
|
||||
そうでない場合は値 -1 を返し、エラーを示すために
|
||||
.Va errno
|
||||
が設定されます。
|
||||
.Sh エラー
|
||||
|
|
|
@ -30,21 +30,21 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)mmap.2 8.4 (Berkeley) 5/11/95
|
||||
.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.22.2.5 2000/12/29 14:44:52 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.22.2.6 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd May 11, 1995
|
||||
.Dt MMAP 2
|
||||
.Os BSD 4
|
||||
.Sh 名称
|
||||
.Nm mmap
|
||||
.Nd ファイルまたはデバイスをメモリにマップする
|
||||
.Nd メモリの割り当て、またはファイルまたはデバイスのメモリへのマップ
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <sys/mman.h>
|
||||
.Ft void *
|
||||
.Fn mmap "void * addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset"
|
||||
.Fn mmap "void *addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset"
|
||||
.Sh 解説
|
||||
.Fn mmap
|
||||
関数は、
|
||||
|
@ -56,7 +56,7 @@
|
|||
によって記述されるオブジェクトの
|
||||
バイトオフセット
|
||||
.Fa offset
|
||||
の位置からマップされるようにします。
|
||||
の位置から始まる部分をマップされるようにします。
|
||||
.Fa len
|
||||
がページサイズの倍数でない場合、
|
||||
マップされた領域は指定の範囲を越えて拡張されるかもしれません。
|
||||
|
@ -81,13 +81,15 @@
|
|||
.Em ( or )
|
||||
を取った値で指定します。
|
||||
.Pp
|
||||
.Bl -tag -width MAP_FIXEDX
|
||||
.It Dv PROT_EXEC
|
||||
ページは実行できます。
|
||||
.Bl -tag -width PROT_WRITE -compact
|
||||
.It Dv PROT_NONE
|
||||
ページはアクセスできません。
|
||||
.It Dv PROT_READ
|
||||
ページは読取りできます。
|
||||
.It Dv PROT_WRITE
|
||||
ページは書込みできます。
|
||||
.It Dv PROT_EXEC
|
||||
ページは実行可能です。
|
||||
.El
|
||||
.Pp
|
||||
.Fa flags
|
||||
|
@ -100,8 +102,7 @@
|
|||
を取った値で
|
||||
.Fa flags
|
||||
引数に指定します。
|
||||
.Pp
|
||||
.Bl -tag -width MAP_FIXEDX
|
||||
.Bl -tag -width MAP_HASSEMAPHORE
|
||||
.It Dv MAP_ANON
|
||||
どの特定のファイルとも対応していない匿名メモリをマップします。
|
||||
.Dv MAP_ANON
|
||||
|
@ -115,7 +116,9 @@
|
|||
システムが、指定されたアドレスと異なるアドレスを選択することを許容しません。
|
||||
指定されたアドレスが使用できない場合、
|
||||
.Fn mmap
|
||||
は処理に失敗します。MAP_FIXED が指定されている場合、
|
||||
は処理に失敗します。
|
||||
.Dv MAP_FIXED
|
||||
が指定されている場合、
|
||||
.Fa addr
|
||||
はページサイズの倍数である必要があります。
|
||||
このオプションの使用はお勧めできません。
|
||||
|
@ -125,47 +128,67 @@
|
|||
.It Dv MAP_INHERIT
|
||||
.Xr execve 2
|
||||
システムコールを通じて領域が継承できるようにします。
|
||||
.It Dv MAP_PRIVATE
|
||||
修正は固有になります。
|
||||
.It Dv MAP_SHARED
|
||||
修正は共有されます。
|
||||
.It Dv MAP_STACK
|
||||
このオプションが利用できるのは、システムのカーネルをコンパイルするときに
|
||||
VM_STACK を定義してコンパイルした場合だけです。
|
||||
これは i386 についてだけデフォルトです。他のアーキテクチャで
|
||||
このオプションを有効にしたい場合は、/etc/make.conf 内で -DVM_STACK を
|
||||
COPTFLAGS に追加する方法を検討してください。
|
||||
MAP_STACK は MAP_ANON および 0 の
|
||||
.Fa offset
|
||||
指定を含みます。
|
||||
.Fa fd
|
||||
は -1 でなければならず、
|
||||
.Fa prot
|
||||
には少なくとも PROT_READ と PROT_WRITE が入っている必要があります。
|
||||
このオプションは、スタックの
|
||||
先頭を開始点とし下方に伸びる、サイズが最大で
|
||||
.Fa len
|
||||
バイトまで伸びるメモリ領域を作成します。
|
||||
.It Dv MAP_NOCORE
|
||||
領域はコアファイルに含まれません。
|
||||
.It Dv MAP_NOSYNC
|
||||
はこの VM マップを経由して汚されたデータを、無闇にではなく
|
||||
(通常はページャによって) 必要な時のみ物理的なメディアに
|
||||
フラッシュするようにします。
|
||||
普通、このオプションにより、更新デーモンはこのマップで
|
||||
汚されたページをフラッシュしないようになります。これにより、
|
||||
ファイルバックアップされた共有メモリのマッピングを使用して
|
||||
無関係なプロセスの間でメモリアクセスを効率的に共有することが
|
||||
できるようになります。
|
||||
このオプションがないと、汚された VM ページは頻繁 (通常 30-60 秒毎) に
|
||||
ディスクにフラッシュされるかも知れず、そのような動作を必要としない場合
|
||||
(例えば IPC のためにファイルを用いた共有 mmap 領域を用いている場合)
|
||||
パフォーマンスに問題が出ることがあります。
|
||||
MAP_NOSYNC を使っているかにかかわらず、
|
||||
.Dv MAP_NOSYNC
|
||||
を使っているかにかかわらず、
|
||||
VM/ ファイルシステムの一貫性は保たれることに注意してください。
|
||||
このオプションは UNIX プラットフォーム間で (まだ) 移植性はありませんが、
|
||||
このオプションは
|
||||
.Ux
|
||||
プラットフォーム間で (まだ) 移植性はありませんが、
|
||||
いくつかのプラットフォームではデフォルトで同じ動作をするように
|
||||
実装されているかも知れません。
|
||||
.Pp
|
||||
.Xr fsync2
|
||||
関数はすべての汚染されたデータと、ファイルに関連づけられたメタデータを
|
||||
フラッシュします。NOSYNC の汚れた VM データ物理的媒体にフラッシュします。
|
||||
.Em 警告 !
|
||||
.Xr ftruncate 2
|
||||
を使いファイルを拡張してから、つまりファイルに大きな穴を空けてから、
|
||||
その穴を共有
|
||||
.Fn mmap
|
||||
を修正して埋める場合、深刻なファイル断片化が生じる可能性があります。
|
||||
この断片化を避けるために、
|
||||
.Fn mmap
|
||||
でその領域を修正する前に、新規に拡張した領域に 0 を
|
||||
.Fn write
|
||||
して、ファイルのバッキングストアを事前に割り当てておく必要があります。
|
||||
ディスクへのフラッシュが全くランダムに生じるため、
|
||||
断片化問題に特に敏感なのは、
|
||||
.Dv MAP_NOSYNC
|
||||
ページです。
|
||||
.Pp
|
||||
同じことが、
|
||||
.Dv MAP_NOSYNC
|
||||
を使いファイルベースの共有メモリストアを実装する場合にもいえます。
|
||||
.Fn ftruncate
|
||||
してバッキングストアを作るのではなく、0 を
|
||||
.Fn write
|
||||
してバッキングストアを作ることを推奨します。
|
||||
たとえば、
|
||||
.Dq Li dd if=filename of=/dev/null bs=32k
|
||||
を使うなどして巨大なファイルをシーケンシャルに読み込みながら、
|
||||
.Dq Li iostat 1
|
||||
を呼び出すことで得られる
|
||||
KB/t (転送 1 回あたりのキロバイト数) を観察することで
|
||||
ファイル断片化のテストが可能です。
|
||||
.Pp
|
||||
.Xr fsync 2
|
||||
関数はすべての汚染されたデータとファイルに関連づけられたメタデータ
|
||||
(NOSYNC の汚れた VM データを含む) を物理的媒体にフラッシュします。
|
||||
.Xr sync 8
|
||||
コマンドと
|
||||
.Xr sync2
|
||||
.Xr sync 2
|
||||
システムコールは、汚染された NOSYNC VM のデータを通常フラッシュしません。
|
||||
.Xr msync 2
|
||||
システムコールは
|
||||
|
@ -174,9 +197,40 @@ VM/
|
|||
廃止されました。しかしながら、汚れた VM ページとファイルシステムを
|
||||
結びつけ、物理的媒体にすぐに(後程ではなく)フラッシュさせる用途に
|
||||
使われることもあります。
|
||||
.It Dv MAP_NOCORE
|
||||
領域はコアファイルには含まれません。
|
||||
.Pp
|
||||
.It Dv MAP_PRIVATE
|
||||
修正はプロセス固有に行なわれます。
|
||||
.It Dv MAP_SHARED
|
||||
修正は共有されます。
|
||||
.It Dv MAP_STACK
|
||||
このオプションが利用できるのは、システムのカーネルをコンパイルするときに
|
||||
.Dv VM_STACK
|
||||
を定義してコンパイルした場合だけです。
|
||||
これは i386 についてだけデフォルトです。他のアーキテクチャで
|
||||
このオプションを有効にしたい場合は、
|
||||
.Pa /etc/make.conf
|
||||
内で
|
||||
.Li -DVM_STACK
|
||||
を
|
||||
.Va COPTFLAGS
|
||||
に追加する方法を検討してください。
|
||||
.Dv MAP_STACK
|
||||
は
|
||||
.Dv MAP_ANON
|
||||
および 0 の
|
||||
.Fa offset
|
||||
指定を含みます。
|
||||
.Fa fd
|
||||
は -1 でなければならず、
|
||||
.Fa prot
|
||||
には少なくとも
|
||||
.Dv PROT_READ
|
||||
と
|
||||
.Dv PROT_WRITE
|
||||
が入っている必要があります。
|
||||
このオプションは、スタックの
|
||||
先頭を開始点とし下方に伸びる、サイズが最大で
|
||||
.Fa len
|
||||
バイトまで伸びるメモリ領域を作成します。
|
||||
スタックの先頭は、呼び出しから返された開始アドレスに
|
||||
.Fa len
|
||||
バイトを加えたものになります。最も伸びた場合のスタックの下端は、
|
||||
|
@ -197,7 +251,9 @@ VM/
|
|||
正常に完了すると、
|
||||
.Fn mmap
|
||||
は、マップされた領域を指すポインタを返します。そうでない場合は
|
||||
値 MAP_FAILED が返され、エラーを示すために
|
||||
値
|
||||
.Dv MAP_FAILED
|
||||
が返され、エラーを示すために
|
||||
.Va errno
|
||||
が設定されます。
|
||||
.Sh エラー
|
||||
|
@ -247,13 +303,18 @@ VM/
|
|||
が通常のファイルまたはキャラクタ型特殊ファイルを参照していませんでした。
|
||||
.It Bq Er EINVAL
|
||||
.Fa offset
|
||||
がページ境界に整列していませんでした (後述する「バグの章」を参照)。
|
||||
がページ境界に整列していませんでした (後述する「
|
||||
.Sx バグ
|
||||
の章」を参照)。
|
||||
.It Bq Er ENOMEM
|
||||
.Dv MAP_FIXED
|
||||
が指定されて
|
||||
.Fa addr
|
||||
パラメータが与えられない、もしくは vm.nax_proc_mmap で指定された
|
||||
プロセス毎の mmap に達しました。
|
||||
パラメータが与えられない、もしくは
|
||||
sysctl 値
|
||||
.Va vm.nax_proc_mmap
|
||||
で指定された
|
||||
プロセス毎の mmap 限界に達しました。
|
||||
.Dv MAP_ANON
|
||||
が指定されて利用できるメモリが不充分でした。
|
||||
.Sh 関連項目
|
||||
|
@ -272,16 +333,17 @@ VM/
|
|||
(ファイルサイズ % 2GB) のサイズのウィンドウをマップできます。
|
||||
.Pp
|
||||
制約は多彩な理由から生じています。
|
||||
そのほとんどは、
|
||||
そのほとんどは、パフォーマンス上の著しいペナルティのため、
|
||||
.Fx
|
||||
の VM システム内で 64 ビットのオフセットを使用したくないというものです。
|
||||
では VM システム内で 64 ビットのオフセットを使用したくないことと
|
||||
関係しています。
|
||||
したがって
|
||||
.Fx
|
||||
は 32 ビットのページインデックスを使用しており、これによって
|
||||
.Fx
|
||||
では最高で 8TB までのファイルサイズを利用できます。実際には
|
||||
ファイルシステムコード内のバグによってさらに制約が課されて、
|
||||
1TB までが利用できます。
|
||||
さらに制約が課されて使用可能サイズは 1TB までですが、これは、
|
||||
ファイルシステムコード内のバグによるものです
|
||||
(ブロック番号計算を行なっているときの桁落ち)。
|
||||
.Pp
|
||||
2GB 制限のもうひとつの理由は、ファイルシステムメタデータが負のオフセットに
|
||||
|
|
|
@ -149,7 +149,7 @@ O_EXLOCK
|
|||
.Xr getdtablesize 2
|
||||
は現在のシステム制限を返します。
|
||||
.Pp
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
非スレッドライブラリでは、
|
||||
.Fn open
|
||||
は
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" %NetBSD: poll.2,v 1.3 1996/09/07 21:53:08 mycroft Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/poll.2,v 1.2.2.1 1999/08/29 14:49:17 peter Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/poll.2,v 1.4.2.2 2001/01/16 10:33:28 ru Exp %
|
||||
.\"
|
||||
.\" Copyright (c) 1996 Charles M. Hannum. All rights reserved.
|
||||
.\"
|
||||
|
@ -123,7 +123,7 @@ POLLOUT
|
|||
.Fa timeout
|
||||
が INFTIM (-1) の場合、
|
||||
.Fn poll
|
||||
は永久にブロックします。
|
||||
は無期限にブロックします。
|
||||
.Fa timeout
|
||||
が 0 の場合
|
||||
.Fn poll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" %FreeBSD: src/lib/libc/sys/ptrace.2,v 1.10.2.1 1999/08/29 14:49:17 peter Exp %
|
||||
.\" %NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/ptrace.2,v 1.12.2.7 2001/03/06 16:46:06 ru Exp %
|
||||
.\" %NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $
|
||||
.\"
|
||||
.\" This file is in the public domain.
|
||||
.Dd January 20, 1996
|
||||
|
@ -26,12 +26,12 @@
|
|||
(トレース
|
||||
されるプロセス) を制御できます。
|
||||
ほとんどの場合、トレースされるプロセスは正常に実行されます。
|
||||
ただし、トレースされるプロセスはシグナルを受信すると
|
||||
ただし、トレースされるプロセスはシグナル
|
||||
.Po
|
||||
.Xr sigaction 2
|
||||
を参照
|
||||
.Pc
|
||||
停止します。トレースするプロセスは、
|
||||
を受信すると停止します。トレースするプロセスは、
|
||||
.Xr wait 2
|
||||
または
|
||||
.Dv SIGCHLD
|
||||
|
@ -59,9 +59,7 @@
|
|||
ます (親プロセスが子プロセスをトレースしない場合は、
|
||||
かなり混乱した結果になります。
|
||||
トレースされるプロセスが停止すると、このプロセスは、
|
||||
.Eo \&
|
||||
.Fn ptrace
|
||||
.Ec \&
|
||||
によってしか実行を継続できません)。プロセスがこの要求を使用し、
|
||||
.Xr execve 2
|
||||
またはそれに組み込まれているルーチン
|
||||
|
@ -75,7 +73,7 @@
|
|||
setuid または setgid ビットは無視されます。
|
||||
.It Dv PT_READ_I , Dv PT_READ_D
|
||||
これらの要求は、トレースされるプロセスのアドレス空間から 1 つの
|
||||
.Li int
|
||||
.Vt int
|
||||
データを読み取ります。従来、
|
||||
.Fn ptrace
|
||||
は命令とデータについて区別されたアドレス空間のある
|
||||
|
@ -107,7 +105,7 @@ setuid
|
|||
引数で書き込まれる値を指定します。
|
||||
.It Dv PT_READ_U
|
||||
この要求は、トレースされるプロセスのユーザ構造体から 1 つの
|
||||
.Li int
|
||||
.Vt int
|
||||
を読み取ります。
|
||||
.Fa addr
|
||||
引数は、
|
||||
|
@ -117,7 +115,7 @@ int
|
|||
.Fn ptrace
|
||||
.Ec
|
||||
のプロトタイプの存在によって
|
||||
.Li caddr_t
|
||||
.Vt caddr_t
|
||||
にキャストされる整数値です。
|
||||
.Dv PT_READ_I
|
||||
および
|
||||
|
@ -125,7 +123,7 @@ int
|
|||
と異なり、
|
||||
.Fa addr
|
||||
は
|
||||
.Li int
|
||||
.Vt int
|
||||
境界に調整されている必要があります。読み取られた値は
|
||||
.Eo \&
|
||||
.Fn ptrace
|
||||
|
@ -133,7 +131,7 @@ int
|
|||
からの戻り値として返されます。
|
||||
.It Dv PT_WRITE_U
|
||||
この要求はトレースされるプロセスのユーザ構造体に 1 つの
|
||||
.Li int
|
||||
.Vt int
|
||||
を書き込みます。
|
||||
.Fa addr
|
||||
には
|
||||
|
@ -150,14 +148,16 @@ int
|
|||
.Fa addr
|
||||
は、実行が再開される場所 (プログラムカウンタの新しい値)、
|
||||
または実行が停止されたところで再開されることを示す
|
||||
.Li (caddr_t)1
|
||||
.Po
|
||||
.Vt caddr_t
|
||||
.Pc Ns 1
|
||||
を指定します。
|
||||
.Fa data
|
||||
には、トレースされるプロセスが実行を再開するときに受信するシグナル番号、
|
||||
またはシグナルを送信しない場合には 0 を指定します。
|
||||
.It Dv PT_STEP
|
||||
トレースされるプロセスは 1 命令ずつステップ実行されます。
|
||||
.Fa addr
|
||||
.Fa addr
|
||||
と
|
||||
.Fa data
|
||||
フィールドは使用されません。
|
||||
|
@ -195,7 +195,9 @@ int
|
|||
この要求は、トレースされるプロセスのマシンレジスタを、
|
||||
.Fa addr
|
||||
が指す
|
||||
.Dq Li "struct reg"
|
||||
.Do
|
||||
.Vt "struct reg"
|
||||
.Dc
|
||||
.Pf ( Aq Pa machine/reg.h
|
||||
内に定義されています) 内に読み取ります。
|
||||
.It Dv PT_SETREGS
|
||||
|
@ -204,7 +206,9 @@ int
|
|||
の逆です。
|
||||
.Fa addr
|
||||
が指す
|
||||
.Dq Li "struct reg"
|
||||
.Do
|
||||
.Vt "struct reg"
|
||||
.Dc
|
||||
.Pf ( Aq Pa machine/reg.h
|
||||
内に定義されています)
|
||||
からトレースされるプロセスのマシンレジスタをロードします。
|
||||
|
@ -212,7 +216,9 @@ int
|
|||
この要求はトレースされるプロセスの浮動小数点レジスタを
|
||||
.Fa addr
|
||||
が指す
|
||||
.Dq Li "struct fpreg"
|
||||
.Do
|
||||
.Vt "struct fpreg"
|
||||
.Dc
|
||||
.Pf ( Aq Pa machine/reg.h
|
||||
に定義されています) に読み取ります。
|
||||
.It Dv PT_SETFPREGS
|
||||
|
@ -229,7 +235,9 @@ int
|
|||
この要求はトレースされるプロセスのデバッグレジスタを
|
||||
.Fa addr
|
||||
が指す
|
||||
.Dq Li "struct dbreg"
|
||||
.Do
|
||||
.Vt "struct dbreg"
|
||||
.Dc
|
||||
.Pf ( Aq Pa machine/reg.h
|
||||
内に定義されています)
|
||||
に読み取ります。
|
||||
|
@ -239,7 +247,9 @@ int
|
|||
の反対です。
|
||||
.Fa addr
|
||||
の指す
|
||||
.Dq Li "struct dbreg"
|
||||
.Do
|
||||
.Vt "struct dbreg"
|
||||
.Dc
|
||||
.Pf ( Aq Pa machine/reg.h
|
||||
内に定義されています)
|
||||
からトレースされるプロセスのデバッグレジスタにロードします。
|
||||
|
@ -278,9 +288,9 @@ int
|
|||
への
|
||||
.Fa addr
|
||||
が
|
||||
.\".Li int Ns \&-aligned.
|
||||
.Li int
|
||||
境界に調節されていませんでした。
|
||||
.\".Vt int Ns \-aligned.
|
||||
.Vt int
|
||||
境界に調節されていませんでした。
|
||||
.It
|
||||
.Dv PT_CONTINUE
|
||||
へのシグナル番号
|
||||
|
@ -294,8 +304,8 @@ int
|
|||
.Dv PT_GETDBREGS
|
||||
または
|
||||
.Dv PT_SETDBREGS
|
||||
が、有効なレジスタを設定せずに使用されました
|
||||
(これらは通常、システムプロセスについてのみ使用されます)。
|
||||
が、有効なレジスタセットを設定せずに使用されました
|
||||
(これが真になるのは、通常、システムプロセスについてのみです)。
|
||||
.El
|
||||
.It Bq Er EBUSY
|
||||
.Bl -bullet -compact
|
||||
|
|
|
@ -116,7 +116,7 @@ struct iovec {
|
|||
システムは要求されたバイト数を読取ることを保証しますが、
|
||||
他のケースではそうではありません。
|
||||
.Pp
|
||||
.Sh システムの注意事項
|
||||
.Sh 実装に関する注
|
||||
.Pp
|
||||
非スレッドライブラリでは、
|
||||
.Fn read
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)recv.2 8.3 (Berkeley) 2/21/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/recv.2,v 1.4.2.1 1999/09/18 16:19:00 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/recv.2,v 1.8.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd February 21, 1994
|
||||
.Dt RECV 2
|
||||
|
@ -63,14 +63,14 @@
|
|||
が nil でなく、ソケットが接続指向でない場合、
|
||||
ここにはメッセージのソースアドレスが保存されます。
|
||||
.Fa fromlen
|
||||
は「値-結果」パラメータであり、
|
||||
は「値 - 結果」パラメータであり、
|
||||
.Fa from
|
||||
に対応するバッファのサイズに初期化され、
|
||||
戻り時には保存されたアドレスの実際のサイズを示すように
|
||||
変更されます。
|
||||
.Pp
|
||||
.Fn recv
|
||||
呼出しは、通常
|
||||
呼び出しは、通常
|
||||
.Em 接続された
|
||||
ソケット上だけで使用され
|
||||
.Pf ( Xr connect 2
|
||||
|
@ -84,18 +84,18 @@
|
|||
これら 3 つのルーチンは正常に完了するとメッセージの長さを返します。
|
||||
メッセージが長すぎて指定のバッファに収まらない場合、
|
||||
メッセージを受信したソケットのタイプによっては
|
||||
超過分のバイトが破棄されることがあります。
|
||||
超過分のバイトが破棄されることがあります
|
||||
.Pf ( Xr socket 2
|
||||
を参照)。
|
||||
.Pp
|
||||
ソケットにメッセージが無い場合は、ソケットが非ブロッキング
|
||||
.Pf ( Xr fcntl 2
|
||||
を参照) の場合を除き、呼出しはメッセージが到着するのを待ちます。
|
||||
を参照) の場合を除き、呼び出しはメッセージが到着するのを待ちます。
|
||||
ソケットが非ブロッキングの場合、値 -1 が返され、外部変数
|
||||
.Va errno
|
||||
が
|
||||
.Er EAGAIN
|
||||
に設定されます。通常、受信呼出しは要求された量を受信するまで待たずに、
|
||||
に設定されます。通常、受信呼び出しは要求された量を受信するまで待たずに、
|
||||
要求された量を上限として得られたデータを返します。この動作は、
|
||||
.Xr getsockopt 2
|
||||
で解説されているソケットレベルのオプション
|
||||
|
@ -106,18 +106,18 @@
|
|||
.Pp
|
||||
次のデータがいつ到着するかを判定するには
|
||||
.Xr select 2
|
||||
呼出しを使うことができます。
|
||||
呼び出しを使うことができます。
|
||||
.Pp
|
||||
recv 呼出しへの
|
||||
recv 呼び出しへの
|
||||
.Fa flags
|
||||
引数は、次の値の 1 つまたは複数の論理和
|
||||
.\".Em or Ap ing
|
||||
.Em ( or )
|
||||
から成ります。
|
||||
.Bl -column MSG_WAITALL -offset indent
|
||||
.It Dv MSG_OOB プロセス帯域外データ
|
||||
.It Dv MSG_PEEK 着信メッセージの覗き見 (peek)
|
||||
.It Dv MSG_WAITALL 要求の完全な実行、またはエラーを待つ
|
||||
.It Dv MSG_OOB Ta プロセス帯域外データ
|
||||
.It Dv MSG_PEEK Ta 着信メッセージの覗き見 (peek)
|
||||
.It Dv MSG_WAITALL Ta 要求の完全な実行、またはエラーを待つ
|
||||
.El
|
||||
.Pp
|
||||
.Dv MSG_OOB
|
||||
|
@ -126,16 +126,15 @@ recv
|
|||
急送データを通常のデータ待ち行列の先頭に配置するプロトコルもありますが、
|
||||
このフラグはそのようなプロトコルでは使用できません。MSG_PEEK フラグは
|
||||
受信待ち行列の先頭からデータを除去することなく、そのデータを
|
||||
返します。したがって、後続の受信呼出しは同じデータ
|
||||
返します。したがって、後続の受信呼び出しは同じデータ
|
||||
を返します。MSG_WAITALL フラグは要求が完全に満たされるまで
|
||||
ブロックするように要求します。
|
||||
しかし、シグナルが補足された場合、エラーまたは切断が発生した場合、
|
||||
しかし、シグナルが捕捉された場合、エラーまたは切断が発生した場合、
|
||||
または受信する次のデータが返されたタイプと異なる
|
||||
場合、呼出しは要求されたより少ないデータを返す可能性があります。
|
||||
場合、呼び出しは要求されたより少ないデータを返す可能性があります。
|
||||
.Pp
|
||||
.Fn recvmsg
|
||||
呼び出しは、
|
||||
直接に指定されるパラメータの数を最小にするために
|
||||
呼び出しは、直接に指定されるパラメータの数を最小にするために
|
||||
.Fa msghdr
|
||||
構造体を使用します。この構造体は
|
||||
.Ao Pa sys/socket.h Ac
|
||||
|
@ -181,11 +180,11 @@ struct cmsghdr {
|
|||
};
|
||||
.Pp
|
||||
.Ed
|
||||
たとえば、これを使用して XNS/SPP または ISO における
|
||||
データストリームの変化を知り、
|
||||
たとえば、これを使用して XNS/SPP において
|
||||
データストリームの変化を知ることができます。また、ISO において
|
||||
.Fn accept
|
||||
呼び出しの直後に、データバッファを伴わずに recvmsg を要求して、
|
||||
ユーザ接続要求を得ることができるでしょう。
|
||||
ユーザ接続要求データを得ることができるでしょう。
|
||||
.Pp
|
||||
オープンされたファイル記述子はこれで
|
||||
.Dv AF_UNIX
|
||||
|
@ -244,7 +243,7 @@ struct cmsgcred {
|
|||
は、急送または帯域外データが受信されたことを示します。
|
||||
.Pp
|
||||
.Sh 戻り値
|
||||
これらの呼出しは受信したバイト数を返し、エラーが起きた場合は -1 を返します。
|
||||
これらの呼び出しは受信したバイト数を返し、エラーが起きた場合は -1 を返します。
|
||||
.Sh エラー
|
||||
呼び出しは次の場合に失敗します。
|
||||
.Bl -tag -width Er
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
.\" describe the actual BSD implementation. Permission for
|
||||
.\" use of this page comes from Rob Pike <rob@plan9.att.com>.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/rfork.2,v 1.11.2.5 2000/12/12 09:55:46 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/rfork.2,v 1.11.2.6 2001/02/07 00:59:41 ps Exp %
|
||||
.\"
|
||||
.Dd January 12, 1996
|
||||
.Dt RFORK 2
|
||||
|
@ -42,8 +42,8 @@ fork, vfork, rfork
|
|||
.It RFFDG
|
||||
設定されている場合、起動側のファイル記述子テーブル
|
||||
.Pf ( Xr intro 2
|
||||
を参照) が
|
||||
コピーされます。そうでない場合、2 つのプロセスが 1 つのテーブルを共有します。
|
||||
を参照) がコピーされます。
|
||||
そうでない場合、2 つのプロセスが 1 つのテーブルを共有します。
|
||||
.It RFCFDG
|
||||
設定されている場合、新しいプロセスは新しいファイル記述子テーブルで
|
||||
開始します。
|
||||
|
@ -53,7 +53,7 @@ fork, vfork, rfork
|
|||
設定されている場合、
|
||||
通常、ハードウェアのページテーブルを直接共有することで、
|
||||
カーネルはアドレス空間全体の共有を強制します。
|
||||
子は、この様な方法で、
|
||||
子は、このような方法で、
|
||||
親プロセスが所有しているすべてのセグメントを、
|
||||
それが普段共有可能であるか否かに関係なく、
|
||||
継承し共有します。
|
||||
|
@ -62,11 +62,14 @@ fork, vfork, rfork
|
|||
ので、
|
||||
RFMEM フラグを指定した
|
||||
.Fn rfork
|
||||
を通常、高級言語から直接呼び出すことはできません。
|
||||
例えば、C 言語でこのシステムコールを直接呼び出すことはできません。
|
||||
は一般に、C 言語を含む高級言語から直接呼び出すことはできません。
|
||||
共に設定可能なフラグは
|
||||
.Dv RFPROC
|
||||
だけです。
|
||||
この問題を解決し、提供されたスタック上で新しいプロセスを
|
||||
走らせるために補助関数が提供されています。詳しくは
|
||||
.Fn rfork_thread 3
|
||||
を参照してください。
|
||||
.It RFSIGSHARE
|
||||
設定されている場合、カーネルは、親子間で sigacts 構造体を共有することを
|
||||
強制します。
|
||||
|
@ -97,7 +100,7 @@ SIGUSR1
|
|||
は、
|
||||
.Fn rfork "RFFDG | RFPROC"
|
||||
への呼び出しとして実装可能ですが、後方互換性のために
|
||||
その様には実装していません。
|
||||
そのようには実装されていません。
|
||||
.Sh 戻り値
|
||||
正常に完了した場合、
|
||||
.Fn rfork
|
||||
|
@ -121,8 +124,8 @@ MIB
|
|||
これより 1 少なくなります)。
|
||||
.It Bq Er EAGAIN
|
||||
ユーザがスーパユーザではなく、
|
||||
1 人のユーザによる実行中のプロセスの合計数
|
||||
がシステムの課した制限を超過してしまいます。制限は、
|
||||
1 人のユーザによる実行中のプロセスの合計数がシステムの課した制限を
|
||||
超過してしまいます。制限は、
|
||||
.Xr sysctl 3
|
||||
MIB 変数
|
||||
.Dv KERN_MAXPROCPERUID
|
||||
|
@ -144,12 +147,13 @@ RFFDG
|
|||
.Xr fork 2 ,
|
||||
.Xr intro 2 ,
|
||||
.Xr minherit 2 ,
|
||||
.Xr vfork 2
|
||||
.Xr vfork 2 ,
|
||||
.Xr rfork_thread 3
|
||||
.Sh BUGS
|
||||
.Fx
|
||||
は native な
|
||||
.Fn clone
|
||||
ライブラリコールを未だ実装していませんし、
|
||||
ライブラリコールを未だに実装されていませんし、
|
||||
現在の pthreads 実装は RFMEM を指定した
|
||||
.Fn rfork
|
||||
を利用していません。
|
||||
|
@ -157,7 +161,11 @@ linux
|
|||
.Pa /usr/ports/devel/linuxthreads
|
||||
は RFMEM を利用して動作する
|
||||
.Fn clone
|
||||
コールを含んでいます。
|
||||
呼び出しを含んでいます。
|
||||
.Fn rfork_thread
|
||||
ライブラリ関数は
|
||||
.Fn clone
|
||||
の代わりとして利用することができます。
|
||||
.Sh 歴史
|
||||
.Fn rfork
|
||||
関数は
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)select.2 8.2 (Berkeley) 3/25/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/select.2,v 1.14.2.1 2000/04/22 17:07:04 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/select.2,v 1.14.2.2 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd March 25, 1994
|
||||
.Dt SELECT 2
|
||||
|
@ -115,7 +115,7 @@
|
|||
.Pp
|
||||
ポーリングのためには、
|
||||
.Fa timeout
|
||||
引数がヌルでなく、値が 0 の timeval 構造体を指しているべきです。
|
||||
引数はヌルでなく、値が 0 の timeval 構造体を指しているべきです。
|
||||
.Pp
|
||||
.Fa readfds ,
|
||||
.Fa writefds
|
||||
|
@ -180,13 +180,11 @@
|
|||
は最初の
|
||||
256 個の記述子を必ず調査します。
|
||||
.Sh バグ
|
||||
.St -susv2
|
||||
では、システムが元の timeout を適当に更新することを許しています。
|
||||
したがって、タイムアウトの値が
|
||||
.Fn select
|
||||
は、時間値を適切に修正することで、
|
||||
指定したタイムアウトからの残り時間を返す必要がおそらくあります。
|
||||
これはシステムの将来のバージョンで実装される可能性があります。
|
||||
このように、タイムアウトの値が
|
||||
.Fn select
|
||||
呼び出しによって修正されないと想定するのは賢明ではありません。
|
||||
呼び出しによって変更されないと想定するのは賢明ではありません。
|
||||
.Sh 歴史
|
||||
.Fn select
|
||||
関数は
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/semget.2,v 1.7.2.2 2000/12/29 14:44:53 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/semget.2,v 1.7.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd September 12, 1995
|
||||
.Dt SEMGET 2
|
||||
|
@ -54,23 +54,18 @@
|
|||
キーはファイル名に類似しています。
|
||||
キーは
|
||||
IPC オブジェクトに名前を付けるハンドルを提供します。
|
||||
キーを指定する方法は
|
||||
3 つあります。
|
||||
キーを指定する方法は 3 つあります。
|
||||
.Bl -bullet
|
||||
.It
|
||||
IPC_PRIVATE
|
||||
を指定できます。この場合、新しい
|
||||
IPC オブジェクトが作成されます。
|
||||
を指定できます。この場合、新しい IPC オブジェクトが作成されます。
|
||||
.It
|
||||
整数定数を指定できます。
|
||||
.Fa key
|
||||
に対応する
|
||||
IPC オブジェクトが指定されておらず、しかも
|
||||
IPC_CREAT
|
||||
ビットを
|
||||
に対応する IPC オブジェクトが指定されておらず、
|
||||
しかも IPC_CREAT ビットを
|
||||
.Fa flag
|
||||
引数で設定している場合、新しい
|
||||
IPC オブジェクトが作成されます。
|
||||
引数で設定している場合、新しい IPC オブジェクトが作成されます。
|
||||
.It
|
||||
.Fn ftok
|
||||
を使用して、パス名からキーを生成できます。
|
||||
|
@ -82,8 +77,7 @@ IPC
|
|||
.\"
|
||||
.Pp
|
||||
新しく作成される
|
||||
IPC オブジェクトのモードは、次の定数の論理和
|
||||
(
|
||||
IPC オブジェクトのモードは、次の定数の論理和 (
|
||||
.Em OR
|
||||
) を
|
||||
.Fa flag
|
||||
|
@ -93,13 +87,13 @@ IPC
|
|||
ユーザ用の読取りアクセス
|
||||
.It Dv SEM_A
|
||||
ユーザ用の書換えアクセス
|
||||
.It Dv (SEM_R>>3)
|
||||
.It Dv ( SEM_R>>3 )
|
||||
グループ用の読取りアクセス
|
||||
.It Dv (SEM_A>>3)
|
||||
.It Dv ( SEM_A>>3 )
|
||||
グループ用の書換えアクセス
|
||||
.It Dv (SEM_R>>6)
|
||||
.It Dv ( SEM_R>>6 )
|
||||
その他用の読取りアクセス
|
||||
.It Dv (SEM_A>>6)
|
||||
.It Dv ( SEM_A>>6 )
|
||||
その他用の書換えアクセス
|
||||
.El
|
||||
.Pp
|
||||
|
@ -108,13 +102,11 @@ IPC
|
|||
を使用して、集合の中に入れる必要のある
|
||||
セマフォの数を示します。そうでない場合、
|
||||
.Fa nsems
|
||||
を
|
||||
0 として指定できます。
|
||||
を 0 として指定できます。
|
||||
.Sh 戻り値
|
||||
.Fn semget
|
||||
は、正常に完了するとセマフォ集合の識別子を返します。
|
||||
そうでない場合は、
|
||||
-1 を返し、エラーを示すように
|
||||
そうでない場合は、-1 を返し、エラーを示すように
|
||||
.Va errno
|
||||
を設定します。
|
||||
.Sh エラー
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)send.2 8.2 (Berkeley) 2/21/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/send.2,v 1.10.2.1 2000/04/22 17:07:05 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/send.2,v 1.10.2.2 2001/01/17 21:03:24 ben Exp %
|
||||
.\"
|
||||
.Dd February 15, 1995
|
||||
.Dt SEND 2
|
||||
|
@ -171,6 +171,8 @@
|
|||
それが一時的な輻輳によって起こったことを示します。
|
||||
.It Bq Er EHOSTUNREACH
|
||||
リモートホストに到達できませんでした。
|
||||
.It Bq Er EHOSTDOWN
|
||||
リモートホストがダウンしていました。
|
||||
.El
|
||||
.Sh バグ
|
||||
.Fn sendmsg
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.6.2.3 2000/12/08 13:49:32 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.6.2.4 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd November 5, 1998
|
||||
.Dt SENDFILE 2
|
||||
|
@ -50,8 +50,8 @@
|
|||
.Fa offset
|
||||
引数はファイルのどこから開始すべきかを指定します。
|
||||
.Fa nbytes
|
||||
引数は、ファイルの何バイトを送信する必要があるかを指定します。 0 は、
|
||||
ファイルの終わりまで送信するという特殊な意味を持ちます。
|
||||
引数は、ファイルの何バイトを送信する必要があるかを指定します。
|
||||
0 は、ファイルの終わりまで送信するという特殊な意味を持ちます。
|
||||
.Pp
|
||||
オプションのヘッダまたはトレーラ、またはその両方は、構造体 sf_hdtr を
|
||||
指すポインタを指定することによってファイルの前と後で送信できます。
|
||||
|
@ -68,9 +68,9 @@ struct sf_hdtr {
|
|||
.Pp
|
||||
.Fa headers
|
||||
ポインタと
|
||||
.Fa tailers
|
||||
ポインタは、 NULL でない場合に構造体 iovec 構造の配列を
|
||||
指します。 iovec 構造体の詳細については、
|
||||
.Fa trailers
|
||||
ポインタは、NULL でない場合に構造体 iovec 構造の配列を
|
||||
指します。iovec 構造体の詳細については、
|
||||
.Fn writev
|
||||
システムコールを参照してください。
|
||||
これらの配列内の iovecs の数は、
|
||||
|
@ -84,7 +84,7 @@ NULL
|
|||
によって指された変数に書込みます。
|
||||
.Pp
|
||||
.Fa flags
|
||||
引数は現時点では未定義であり、 0 に指定する必要があります。
|
||||
引数は現時点では未定義であり、0 に指定する必要があります。
|
||||
.Pp
|
||||
非ブロッキング入出力用に指定されたソケットを使用するときに、
|
||||
.Fn sendfile
|
||||
|
@ -115,7 +115,7 @@ NULL
|
|||
.Fn sendfile
|
||||
は読取り用に
|
||||
.Fa fd
|
||||
、書込み用に
|
||||
を、書込み用に
|
||||
.Fa s
|
||||
をロックしてから
|
||||
.Fn _thread_sys_sendfile
|
||||
|
@ -163,7 +163,7 @@ NULL
|
|||
通信相手が接続を閉じてしまいました。
|
||||
.It Bq Er EIO
|
||||
.Fa fd
|
||||
から読取る間に入出力エラーが発生しました。
|
||||
から読取り中に入出力エラーが発生しました。
|
||||
.It Bq Er EFAULT
|
||||
パラメータについて無効なアドレスが指定されました。
|
||||
.It Bq Er EAGAIN
|
||||
|
@ -180,9 +180,9 @@ sbytes
|
|||
.Xr writev 2
|
||||
.Sh 歴史
|
||||
.Fn sendfile
|
||||
は、はじめて
|
||||
は、
|
||||
.Fx 3.0
|
||||
で登場しました。このマニュアルページは
|
||||
ではじめて登場しました。このマニュアルページは
|
||||
.Fx 3.1
|
||||
ではじめて登場しました。
|
||||
.Sh 作者
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)setreuid.2 8.2 (Berkeley) 4/16/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/setreuid.2,v 1.6.2.2 2000/05/06 13:34:14 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/setreuid.2,v 1.6.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd April 16, 1994
|
||||
.Dt SETREUID 2
|
||||
|
@ -45,12 +45,12 @@
|
|||
.Ft int
|
||||
.Fn setreuid "uid_t ruid" "uid_t euid"
|
||||
.Sh 解説
|
||||
現在のプロセスの実ユーザ ID と実効ユーザ ID が引数に従って設定
|
||||
されます。
|
||||
現在のプロセスの実ユーザ ID と実効ユーザ ID が引数に従って
|
||||
設定されます。
|
||||
.Fa ruid
|
||||
または
|
||||
.Fa euid
|
||||
が -1 の場合、現在の uid が指定されたことになります。特権のない
|
||||
が -1 の場合、現在の UID が指定されたことになります。特権のない
|
||||
ユーザは、実ユーザ ID をその実効ユーザ ID に、または実効ユーザ ID を
|
||||
その実ユーザ ID に変更できます。スーパユーザだけがその他の変更を行えます。
|
||||
.Pp
|
||||
|
@ -67,6 +67,7 @@
|
|||
.Fn setuid
|
||||
関数を使用するようにしてください。
|
||||
.Sh 戻り値
|
||||
.\".Rv -std setreuid
|
||||
処理が正常に完了すると、値 0 が返されます。
|
||||
そうでない場合は -1 が返され、エラーを示すために
|
||||
.Va errno
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/sys/shmget.2,v 1.8.2.2 2000/12/29 14:44:54 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/shmget.2,v 1.8.2.3 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd July 3, 1995
|
||||
.Dt SHMGET 2
|
||||
|
@ -64,7 +64,7 @@ IPC_PRIVATE
|
|||
に対応する IPC オブジェクトが指定されておらず、IPC_CREAT ビットが
|
||||
.Fa flag
|
||||
で設定されている場合は、新しい IPC オブジェクトが作成されます。
|
||||
.It
|
||||
.It
|
||||
.Fn ftok
|
||||
を使用し、パス名からキーを作成できます。
|
||||
.Xr ftok 3
|
||||
|
@ -76,17 +76,17 @@ IPC_PRIVATE
|
|||
パラメータに渡す以下の定数の論理和で決まります。
|
||||
.Bl -tag -width XSHM_WXX6XXX
|
||||
.It Dv SHM_R
|
||||
ユーザの読取りアクセス
|
||||
ユーザ用の読取りアクセス
|
||||
.It SHM_W
|
||||
ユーザの書込みアクセス
|
||||
.It Dv (SHM_R>>3)
|
||||
グループの読取りアクセス
|
||||
.It Dv (SHM_W>>3)
|
||||
グループの書込みアクセス
|
||||
.It Dv (SHM_R>>6)
|
||||
他者の読取りアクセス
|
||||
.It Dv (SHM_W>>6)
|
||||
他者の書込みアクセス
|
||||
ユーザ用の書込みアクセス
|
||||
.It Dv ( SHM_R>>3 )
|
||||
グループ用の読取りアクセス
|
||||
.It Dv ( SHM_W>>3 )
|
||||
グループ用の書込みアクセス
|
||||
.It Dv ( SHM_R>>6 )
|
||||
その他用の読取りアクセス
|
||||
.It Dv ( SHM_W>>6 )
|
||||
その他用の書込みアクセス
|
||||
.El
|
||||
.\"
|
||||
.\" XXX - we should also mention how uid, euid, and gid affect ownership
|
||||
|
@ -131,5 +131,5 @@ IPC_CREAT
|
|||
.Sh 関連項目
|
||||
.Xr shmat 2 ,
|
||||
.Xr shmctl 2 ,
|
||||
.Xr shmdt 2 ,
|
||||
.Xr shmdt 2 ,
|
||||
.Xr ftok 3
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)shutdown.2 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/shutdown.2,v 1.7.2.3 2000/08/23 00:56:03 jhb Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/shutdown.2,v 1.7.2.4 2001/03/07 08:43:44 ru Exp %
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dd February 27, 2001
|
||||
.Dt SHUTDOWN 2
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm shutdown
|
||||
.Nd 全二重接続の一部をシャットダウン
|
||||
|
@ -47,35 +47,45 @@
|
|||
.Fn shutdown "int s" "int how"
|
||||
.Sh 解説
|
||||
.Fn shutdown
|
||||
を呼び出すと、
|
||||
を呼び出すと、ファイル記述子
|
||||
.Fa s
|
||||
に関連するソケットの全二重接続の全部か一部がシャットダウンされます。
|
||||
引数
|
||||
.Fa how
|
||||
が
|
||||
.No Dv SHUT_RD Pq 0
|
||||
である場合は、さらなる受信はできなくなります。
|
||||
.Fa how
|
||||
が
|
||||
.No Dv SHUT_WR Pq 1
|
||||
である場合は、さらなる送信ができなくなります。
|
||||
.Fa how
|
||||
が
|
||||
.No Dv SHUT_RDWR Pq 2
|
||||
である場合は、さらなる送受信ができなくなります。
|
||||
でシャットダウンのタイプを指定します。
|
||||
可能な値は以下の通りです:
|
||||
.Bl -tag -width SHUT_RDWR
|
||||
.It Dv SHUT_RD
|
||||
これ以降の受信ができなくなります。
|
||||
.It Dv SHUT_WR
|
||||
これ以降の送信ができなくなります。
|
||||
.It Dv SHUT_RDWR
|
||||
これ以降の送受信ができなくなります。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
呼び出しが成功すると 0 が返されます。
|
||||
エラーが発生した場合は -1 が返されます。
|
||||
.\.Rv -std shutdown
|
||||
.Fn shutdown
|
||||
関数は成功すると 0 を返します。
|
||||
それ以外の場合は値 -1 が返され、エラーを示すグローバル変数
|
||||
.Fa error
|
||||
が設定されます。
|
||||
.Sh エラー
|
||||
次の場合、呼び出しはエラーになります。
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EBADF
|
||||
引数
|
||||
.Fa s
|
||||
が有効な記述子ではありません。
|
||||
.It Bq Er ENOTSOCK
|
||||
.Fa s
|
||||
がソケットではなくファイルです。
|
||||
.It Bq Er EINVAL
|
||||
引数
|
||||
.Fa how
|
||||
が有効な値ではありません。
|
||||
.It Bq Er ENOTCONN
|
||||
指定されたソケットが接続されていません。
|
||||
ソケットは接続されていません。
|
||||
.It Bq Er ENOTSOCK
|
||||
引数
|
||||
.Fa s
|
||||
はソケットを参照していません。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr connect 2 ,
|
||||
|
@ -90,7 +100,9 @@
|
|||
関数呼び出しは、
|
||||
.Bx 4.2
|
||||
で追加されました。
|
||||
.Dv SHUT_
|
||||
.Dv SHUT_RD , SHUT_WR
|
||||
と
|
||||
.Dv SHUT_RDWR
|
||||
定数は、
|
||||
.St -p1003.1g
|
||||
に追加されました。
|
||||
|
|
|
@ -33,15 +33,14 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)sigpending.2 8.3 (Berkeley) 1/12/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/sigpending.2,v 1.5.2.1 2000/04/22 17:07:07 phantom Exp %
|
||||
.\" man-jp:Ohsawa: 2001/03/13 %FreeBSD: src/lib/libc/sys/sigpending.2,v 1.5.2.2 2001/01/16 21:59:22 ben Exp %
|
||||
.\" %FreeBSD: src/lib/libc/sys/sigpending.2,v 1.5.2.2 2001/01/16 21:59:22 ben Exp %
|
||||
.\"
|
||||
.Dd January 12, 1994
|
||||
.Dt SIGPENDING 2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm sigpending
|
||||
.Nd 保留中のシグナルの得る
|
||||
.Nd 保留中のシグナルの取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
|
@ -60,19 +59,16 @@
|
|||
戻り値 0 は呼び出しが正常に完了したことを示します。
|
||||
戻り値 -1 はエラーが起こったことを示し、
|
||||
.Va errno
|
||||
にエラーが起こったり理由が設定されます。
|
||||
にエラーが起こった理由が設定されます。
|
||||
.Sh エラー
|
||||
.Fn sigpending
|
||||
関数は、現在のところエラーを検出しません。
|
||||
.\" 2001/03/13:jp-man ohsawa 2001/01/16 に修正がはいりました。
|
||||
.\" .Fn sigpending
|
||||
.\" will fail if:
|
||||
.\" .Bl -tag -width Er
|
||||
.\" .It Bq Er EFAULT
|
||||
.\" The
|
||||
.\" .Fa set
|
||||
.\" argument specified an invalid address.
|
||||
.\" .El
|
||||
関数は、失敗した場合に次のエラーを返します。
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EFAULT
|
||||
引数
|
||||
.Fa set
|
||||
が示すアドレスが無効です。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr sigaction 2 ,
|
||||
.Xr sigprocmask 2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,8 @@
|
|||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
|
@ -29,9 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93
|
||||
.\" $FreeBSD: src/lib/libc/sys/socket.2,v 1.12.2.4 2000/12/29 14:44:54 ru Exp
|
||||
$
|
||||
.\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/sys/socket.2,v 1.12.2.5 2001/03/06 16:46:06 ru Exp %
|
||||
.\"
|
||||
.Dd November 24, 1997
|
||||
.Dt SOCKET 2
|
||||
|
@ -48,16 +47,14 @@ $
|
|||
.Fn socket "int domain" "int type" "int protocol"
|
||||
.Sh 解説
|
||||
.Fn socket
|
||||
は、通信のエンドポイントを作成し、記述子を
|
||||
戻します。
|
||||
は、通信のエンドポイントを作成し、記述子を戻します。
|
||||
.Pp
|
||||
.Fa domain
|
||||
パラメータでは、通信を行なう通信ドメインを指
|
||||
定します。これにより、使用するプロトコルファミリが選
|
||||
択されます。このプロトコルファミリは、インクルードファイル
|
||||
パラメータでは、通信を行なう通信ドメインを指定します。
|
||||
これにより、使用するプロトコルファミリが選択されます。
|
||||
このプロトコルファミリは、インクルードファイル
|
||||
.Ao Pa sys/socket.h Ac
|
||||
で定義されています。現在解釈され
|
||||
るフォーマットは以下のとおりです。
|
||||
で定義されています。現在解釈されるフォーマットは以下のとおりです。
|
||||
.Pp
|
||||
.Bd -literal -offset indent -compact
|
||||
PF_LOCAL PF_UNIX と呼ばれていた、ホスト内プロトコル
|
||||
|
@ -73,8 +70,8 @@ PF_OSI
|
|||
(Open System Interconnection)
|
||||
PF_ECMA ヨーロッパ電子計算機工業会
|
||||
(European Computer Manufacturers)
|
||||
PF_DATAKIT データキット(Datakit)プロトコル
|
||||
PF_CCITT X.25 のような ITU-T プロトコル
|
||||
PF_DATAKIT データキット (Datakit) プロトコル
|
||||
PF_CCITT X.25 に似た ITU-T プロトコル
|
||||
PF_SNA IBM SNA
|
||||
PF_DECnet DECnet
|
||||
PF_DLI DEC Direct / DLI (Data Link Interface) プロトコル
|
||||
|
@ -83,17 +80,17 @@ PF_HYLINK NSC
|
|||
PF_APPLETALK AppleTalk プロトコル
|
||||
PF_ROUTE 内部ルーティングプロトコル
|
||||
PF_LINK リンク層インタフェース
|
||||
PF_XTP XTP プロトコル (Xpress Transfer Protocol)
|
||||
PF_XTP XTP プロトコル (Xpress Transfer Protocol)
|
||||
PF_COIP コネクションオリエンテッド IP, 別名 ST II
|
||||
PF_CNT Computer Network Technology 社のプロトコル
|
||||
PF_SIP SIP プロトコル (Simple Internet Protocol)
|
||||
PF_SIP SIP プロトコル (Simple Internet Protocol)
|
||||
PF_IPX Novell 社 IPX (Intenet Packet eXchange) プロトコル
|
||||
PF_RTIP RTIP パケットの識別に使用
|
||||
PF_PIP PIP パケットの識別に使用
|
||||
PF_ISDN 統合ディジタル通信サービス網(ISDN)
|
||||
PF_ISDN 統合デジタル通信サービス網 (ISDN)
|
||||
PF_KEY 内部鍵管理機能
|
||||
PF_INET6 IPv6 プロトコル
|
||||
PF_NATM ATM に直接アクセス
|
||||
PF_NATM ATM にネイティブアクセス
|
||||
PF_ATM ATM
|
||||
PF_NETGRAPH Netgraph ソケット
|
||||
.Ed
|
||||
|
@ -105,11 +102,11 @@ PF_NETGRAPH Netgraph
|
|||
.Bd -literal -offset indent -compact
|
||||
SOCK_STREAM ストリーム型ソケット
|
||||
SOCK_DGRAM データグラム型ソケット
|
||||
SOCK_RAW 低レベルプロトコルインタフェース
|
||||
SOCK_RAW 生プロトコルインタフェース
|
||||
SOCK_RDM 伝達が信頼できるパケット
|
||||
SOCK_SEQPACKET 順序付きパケットストリーム
|
||||
.Ed
|
||||
.\" 原文は
|
||||
.\" 原文は
|
||||
.\" SOCK_RDM Sequenced packet stream,
|
||||
.\" SOCK_SEQPACKET Reliably-delivered packet
|
||||
.\" となっていたが、
|
||||
|
@ -122,10 +119,8 @@ SOCK_SEQPACKET
|
|||
バイトストリームを提供します。帯域外データ転送メカニズムが
|
||||
サポートされることもあります。
|
||||
.Dv SOCK_DGRAM
|
||||
ソケットでは、データグラム
|
||||
(コネクションレスで信頼性のない、最大長が固定の (一般的には小さい)
|
||||
メッセージ)
|
||||
がサポートされます。
|
||||
ソケットでは、データグラム (コネクションレスで信頼性のない、
|
||||
最大長が固定の (一般的には小さい) メッセージ) がサポートされます。
|
||||
.Dv SOCK_SEQPACKET
|
||||
ソケットは、連続した、信頼性のある、双方向接続ベースの
|
||||
最大長が固定のデータグラムの転送を提供します。
|
||||
|
@ -134,8 +129,8 @@ SOCK_SEQPACKET
|
|||
.Dv PF_NS
|
||||
でしか実装されていません。
|
||||
.Dv SOCK_RAW
|
||||
ソケットでは、内部ネットワークプロトコ
|
||||
ルとインタフェースにアクセスできます。スーパユーザしか使用できない
|
||||
ソケットでは、内部ネットワークプロトコルとインタフェースにアクセスできます。
|
||||
スーパユーザしか使用できない
|
||||
.Dv SOCK_RAW
|
||||
タイプ、および計画されているがまだ実装されていない
|
||||
.Dv SOCK_RDM
|
||||
|
@ -169,8 +164,9 @@ SOCK_SEQPACKET
|
|||
と
|
||||
.Xr recv 2
|
||||
の変種を呼び出してデータを転送できます。(インターネットファミリなど、
|
||||
一部のプロトコルファミリでは、「暗黙接続」という観念が
|
||||
サポートされています。この接続では、
|
||||
一部のプロトコルファミリでは、
|
||||
.Dq 暗黙接続
|
||||
という観念がサポートされています。この接続では、
|
||||
.Xr sendto 2
|
||||
を呼び出し、接続オペレーションに乗せてデータを送信できます。)
|
||||
セッションが終了したら、
|
||||
|
@ -193,7 +189,7 @@ SOCK_SEQPACKET
|
|||
が設定されます。その他の動作がない場合、
|
||||
プロトコルは約 1 分ごとに転送を強制し、ソケットの
|
||||
.Dq 接続
|
||||
を任意に維持します。一定期間 (例、5 分間)
|
||||
を任意に維持します。一定期間 (例えば 5 分間)
|
||||
アイドル接続で応答がない場合はエラーとなります。
|
||||
破損したストリームでプロセスが送信すると、
|
||||
.Dv SIGPIPE
|
||||
|
@ -275,9 +271,8 @@ SOCK_SEQPACKET
|
|||
.Xr getprotoent 3 ,
|
||||
.Xr netgraph 4 ,
|
||||
.Xr protocols 5
|
||||
.Re
|
||||
.Rs
|
||||
.%T "An Introductory 4.3 BSD Interprocess Communication Tutorial"
|
||||
.%T "An Introductory 4.3 BSD Interprocess Communication Tutorial"
|
||||
.%B PS1
|
||||
.%N 7
|
||||
.Re
|
||||
|
@ -291,4 +286,3 @@ SOCK_SEQPACKET
|
|||
関数呼び出しは
|
||||
.Bx 4.2
|
||||
で登場しました。
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)write.2 8.5 (Berkeley) 4/2/94
|
||||
.\" %FreeBSD: src/lib/libc/sys/write.2,v 1.12.2.3 2001/03/05 11:44:37 obrien Exp %
|
||||
.\"
|
||||
.Dd April 2, 1994
|
||||
.Dt WRITE 2
|
||||
|
@ -199,8 +200,10 @@ struct iovec {
|
|||
使い尽くされています。
|
||||
.It Bq Er EIO
|
||||
ファイルシステムに読み書きしている間に入出力エラーが発生しました。
|
||||
.It Bq Er EINTR
|
||||
書込みが完了する前にシグナルが割り込みました。
|
||||
.It Bq Er EAGAIN
|
||||
ファイルは非ブロッキング I/O にマークされており、
|
||||
ファイルは非ブロッキング入出力にマークされており、
|
||||
すぐにデータを書込める状態ではありません。
|
||||
.El
|
||||
.Pp
|
||||
|
|
Loading…
Reference in a new issue