Manpages

名 前

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/ に 書 か れ て い る 。