File: epoll_create.2

package info (click to toggle)
manpages-ja 0.5.0.0.20221215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 29,304 kB
  • sloc: perl: 161; makefile: 61
file content (118 lines) | stat: -rw-r--r-- 6,445 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
.\"  Copyright (C) 2003  Davide Libenzi
.\" and Copyright 2008, 2009, 2012 Michael Kerrisk <tk.manpages@gmail.com>
.\"  Davide Libenzi <davidel@xmailserver.org>
.\"
.\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
.\"  This program is free software; you can redistribute it and/or modify
.\"  it under the terms of the GNU General Public License as published by
.\"  the Free Software Foundation; either version 2 of the License, or
.\"  (at your option) any later version.
.\"
.\"  This program is distributed in the hope that it will be useful,
.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
.\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\"  GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2005-04-04 by Marko Kohtala <marko.kohtala@gmail.com>
.\" 2008-10-10, mtk: add description of epoll_create1()
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
.\"         all rights reserved.
.\" Translated Wed Jun  9 05:02:07 JST 2004
.\"         by Yuichi SATO <ysato444@yahoo.co.jp>
.\" Updated & Modified Wed Dec 29 07:12:00 JST 2004 by Yuichi SATO
.\" Updated & Modified Tue Apr 19 06:51:12 JST 2005 by Yuichi SATO
.\" Updated 2009-03-05 by Kentaro Shirakata <argrath@ub32.org>
.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
.\"
.TH EPOLL_CREATE 2 2020\-04\-11 Linux "Linux Programmer's Manual"
.SH 名前
epoll_create, epoll_create1 \- epoll ファイルディスクリプターをオープンする
.SH 書式
.nf
\fB#include <sys/epoll.h>\fP
.PP
\fBint epoll_create(int \fP\fIsize\fP\fB);\fP
\fBint epoll_create1(int \fP\fIflags\fP\fB);\fP
.fi
.SH 説明
\fBepoll_create\fP() は新規の \fBepoll\fP(7) インスタンスを作成する。
Linux 2.6.8 以降では、\fIsize\fP 引数は無視されるが、 0 より大きな値で
なければならない。「注意」を参照。
.PP
\fBepoll_create\fP()  は、新しい epoll インスタンスを参照するファイルディスクリプターを返す。
このファイルディスクリプターは、その後の \fBepoll\fP インターフェースの呼び出しに使われる。 もう必要でなくなった場合は、
\fBepoll_create\fP()  で返されたファイルディスクリプターは \fBclose\fP(2)  を使ってクローズされるべきである。 ある
epoll インスタンスを参照する全てのファイルディスクリプターがクローズされると、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、
再使用できるようにする。
.SS epoll_create1()
\fBepoll_create1\fP()  は、 \fIflags\fP が 0 の場合、現在では使われていない \fIsize\fP 引数がなくなっている点を除けば
\fBepoll_create\fP()  と同じである。 \fIflags\fP に以下の値をビット毎の論理和 (OR) で指定することで、
異なる動作をさせることができる。
.TP 
\fBEPOLL_CLOEXEC\fP
新しいファイルディスクリプターに対して close\-on\-exec (\fBFD_CLOEXEC\fP)  フラグをセットする。
このフラグが役に立つ理由については、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP フラグの説明を参照のこと。
.SH 返り値
成功すると、これらのシステムコールはファイルディスクリプター (非負の整数) を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP
にエラーを示す値を設定する。
.SH エラー
.TP 
\fBEINVAL\fP
\fIsize\fP が正でない。
.TP 
\fBEINVAL\fP
(\fBepoll_create1\fP())  \fIflags\fP に無効な値が指定された。
.TP 
\fBEMFILE\fP
\fI/proc/sys/fs/epoll/max_user_instances\fP によって指定されている、epoll
インスタンスのユーザー単位の制限に達した。 更なる詳細については \fBepoll\fP(7)  を参照のこと。
.TP 
\fBEMFILE\fP
The per\-process limit on the number of open file descriptors has been
reached.
.TP 
\fBENFILE\fP
The system\-wide limit on the total number of open files has been reached.
.TP 
\fBENOMEM\fP
カーネルオブジェクトを作成するのに十分なメモリーがなかった。
.SH バージョン
\fBepoll_create\fP() はカーネル 2.6 で追加された。
ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。
.PP
.\" To be precise: kernel 2.5.44.
.\" The interface should be finalized by Linux kernel 2.5.66.
\fBepoll_create1\fP() はカーネル 2.6.27 で追加された。
ライブラリによるサポートは glibc バージョン 2.9 以降で提供されている。
.SH 準拠
\fBepoll_create\fP() は Linux 独自である。
.SH 注意
初期の \fBepoll_create\fP() の実装では、\fIsize\fP 引数は、呼び出し元が \fBepoll\fP
インスタンスに追加しようとするファイルディスクリプター数をカーネルに教えるのに
使われていた。カーネルはこの情報をイベントの情報を格納する内部データ構造に最
初に割り当てる大きさを決める際のヒントとして使用していた (\fIsize\fP で渡された
ヒントよりも使用量が大きくなった場合には、必要に応じてカーネルは追加で領域を
割り当てる)。

現在では、このヒントはもはや必要なくなっている (カーネルはヒントなしで必要な
データ構造のサイズを動的に変更する) が、今も \fIsize\fP には 0 より大きい値を
指定しなければならない。これは、\fBepoll\fP を使うアプリケーションが古いカーネル
で実行される際の後方互換性を保証するためである。
.SH 関連項目
\fBclose\fP(2), \fBepoll_ctl\fP(2), \fBepoll_wait\fP(2), \fBepoll\fP(7)
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
\%https://www.kernel.org/doc/man\-pages/ に書かれている。