名 前
getdtablesize − デ ィ ス ク リ プ タ ー テ ー ブ ル の サ イ ズ を 取 得 す る
書 式
#include <unistd.h>
int getdtablesize(void);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
getdtablesize():
glibc 2.12 以 降 :
_BSD_SOURCE ||
!(_POSIX_C_SOURCE >= 200112L ||
_XOPEN_SOURCE >= 600)
glibc 2.12 よ り
前 : _BSD_SOURCE || _XOPEN_SOURCE >= 500
||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
説 明
getdtablesize() は 1 つ の プ ロ セ ス の オ ー プ ン で き る フ ァ イ ル 数 の 最 大 値 を 返 す 。 返 り 値 は フ ァ イ ル デ ィ ス ク リ プ タ ー の 取 り 得 る 最 大 値 よ り 1 大 き い 値 で あ る 。
返 り 値
プ ロ セ ス 毎 に オ ー プ ン で き る フ ァ イ ル 数 の 現 在 の 制 限 値 。
エ ラ ー
Linux で は 、 getdtablesize() は getrlimit(2) で 説 明 さ れ て い る エ ラ ー を 返 す こ と が あ る 。 下 記 の 「 注 意 」 を 参 照 の こ と 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )
getdtablesize() 関 数 は ス レ ッ ド セ ー フ で あ る 。
準 拠
SVr4, 4.4BSD (getdtablesize() 関 数 は 4.2BSD で 最 初 に 現 わ れ た )。 こ れ は POSIX.1−2001 で 規 定 さ れ て い な い の で 、 移 植 性 の あ る ア プ リ ケ ー シ ョ ン は こ の 呼 び 出 し の 代 わ り に sysconf(_SC_OPEN_MAX) を 使 う べ き で あ る 。
注 意
getdtablesize() は libc の ラ イ ブ ラ リ 関 数 と し て 実 装 さ れ て い る 。 glibc 版 は getrlimit(2) を 呼 び 出 し て 、 現 在 の RLIMIT_NOFILE を 返 す 。 呼 び 出 し に 失 敗 し た 場 合 は OPEN_MAX を 返 す 。
関 連 項 目
close(2), dup(2), getrlimit(2), open(2)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。