Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexey Samsonov                      2:5020/400     10 Aug 2000  18:29:40
 To : All
 Subject : Perl/Unix bug? select() возвращает странные значения
 -------------------------------------------------------------------------------- 
 
 Столкнулся с загадочным поведением функции select (RBITS, WBITS, EBITS,
 TIMEOUT)
 при запуске Perl-скрипта на платформе Unix.
 Ситуация следующая:
 1.Создаем несколько сокетов (PF_INET, SOCK_STREAM, getprotobyname('tcp')) в
 non-blocking режиме через ioctl()
 2. Коннектимся к нескольким разным портам на ОДHОМ хосте
 3. Создаем бит-вектор на проверку готовности всех сокетов на запись (т.е.
 удачный коннект)
  и вызываем select(undef, $bit_vec_write, undef, $timeout)
 
 И вот, если ХОТЯ БЫ ОДИH порт на на этом хосте отвечает, то select()
 возвращает установленные биты ДЛЯ ВСЕХ СОКЕТОВ относящихся к этому хосту.
 Под win32(perl 5.6.0) этой проблемы нет, бит записи выставляется только для
 актуального порта. Что посоветуете?
 
 Спасибо,
 Алексей
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Perl/Unix bug? select() возвращает странные значения   Alexey Samsonov   10 Aug 2000 18:29:40 
Архивное /ru.perl/231788ef475df.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional