LINUX.ORG.RU

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

макс. значение int?

тока зачем это? они же используются по неск. раз

Pi ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

>макс. значение int?

насколько чувствует моя душа в линуксе не может существать файловый дескриптор со значением больше нескольких тысяч в противном случае он будет неюзабельным под тем же селектом

cvv ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

ух как ты вопрос закрутил в таком разе:)

Pi ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

> в противном случае он будет неюзабельным под тем же селектом

у ядра такого ограничения нет, проблема в том, как
определена struct fd_set в user-level, точнее, в
значении __FD_SETSIZE.

idle ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

а как тогда понимать цитату из linux/posix_types.h:


 * This allows for 1024 file descriptors: if NR_OPEN is ever grown 
 * beyond that you'll have to change this too. But 1024 fd's seem to be 
 * enough even for such "real" unices like OSF/1, so hopefully this is 
 * one limit that doesn't have to be changed [again].

????

cvv ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

Приветствую :)

Вопрос обслуживания множества клиентов очень добротно разобран вот здесь: http://www.kegel.com/c10k.html

Для примера, такая цитата: "Unfortunately, select() is limited to FD_SETSIZE handles. This limit is compiled in to the standard library and user programs."

В случае Linux рекомендуется использовать epoll (но это уже не POSIX)

erDiZz ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

> Unfortunately, select() is limited to FD_SETSIZE handles.
> This limit is compiled in to the standard library
                                   ^^^^^^^^^^^^^^^^

именно. но никто не мешает вам увеличить размер fd_set.
это ведь просто массив бит и ничего больше.

ядро про fd_set не знает ничего и этих ограничений не
имеет.

idle ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

>ядро про fd_set не знает ничего и этих ограничений не имеет.

не понял а откудова я тогда собственно цитату спёр?? и зачем там нужен __kernel_fd_set????

cvv ★★★★★ ()

Re: а как узнать максимально возможное значение файлового дескриптора в конкретной системе??

> не понял а откудова я тогда собственно цитату спёр??

ну мало ли что написано внутри этих смешных значков
     /* */

вы на код смотрите. впрочем, может конечно это я
неправильно код читаю, но думаю, я прав.

idle ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.