Пытаюсь вызвать select для 200 дескрипторов....
возвращает ошибку "Select: Bad file descriptor"
На 170 дескрипторах работает нормально
вот примерный код. Дескрипторы созданы через пайп. 
Ненужные концы закрыты... Ограничения на количество файлов 32000
while(1){
    FD_ZERO(&set);
    hi = 0;
    for(i = 0; i < opt.process_number; i++){
           
FD_SET(p_table[i].fd_out[0], &set);
           
if(hi<p_table[i].fd_out[0]) {
           
        hi = p_table[i].fd_out[0];
            }
    }
    if(select(hi+1, &set, NULL, NULL, 0) <= 0) {
           
perror("Select");
            continue; 
    }
    for(i = 0; i < opt.process_number; i++) {
           
if(FD_ISSET(p_table[i].fd_out[0], &set)){
           
        read(p_table[i].fd_out[0],
&cmd, sizeof(cmd));
           
        sprintf(buf,"Receive command %d
data %d\n",cmd.command, cmd.data);
           
        write_log(buf);
           
        command_hook(&cmd, i);
            }
    }
}




    
      Ответ на:
      
          комментарий
        от Dead 
  

    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум вопрос про select() (2013)
- Форум не работает select () (2005)
- Форум select (2006)
- Форум помогите с select/pipe, плииииз... (2003)
- Форум помогите с select/pipe, плииииз... (2003)
- Форум чтение fifo (2006)
- Форум Проблема с select (2002)
- Форум select && SOCK_STREAM (2006)
- Форум select и non-blocking fifo (2007)
- Форум forkpty и read (2004)