Scroll to navigation

GETDTABLESIZE(2) Руководство программиста Linux GETDTABLESIZE(2)

ИМЯ

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() возвращает максимальное количество файлов, которое может быть открыто в процессе, на единицу больше, чем наибольшее возможное значение для дескриптора файла.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Текущее ограничение на количество открытых файлов для процесса.

ОШИБКИ

В Linux, getdtablesize() может вернуть любую ошибку из описанных в getrlimit(2); см. ЗАМЕЧАНИЯ далее.

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4, 4.4BSD (функция getdtablesize() впервые появилась в 4.2BSD). Она отсутствует в POSIX.1-2001; переносимые приложения вместо неё должны применять sysconf(_SC_OPEN_MAX).

ЗАМЕЧАНИЯ

getdtablesize() реализуется как библиотечная функция libc. glibc вызывает getrlimit(2) и возвращает текущее значение ограничения RLIMIT_NOFILE или OPEN_MAX, если это не удаётся. Версии libc4 и libc5 возвращают OPEN_MAX (установленное в 256, начиная с Linux 0.98.4).

СМОТРИТЕ ТАКЖЕ

close(2), dup(2), getrlimit(2), open(2)

2010-09-20 Linux