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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Vadim Tzirulnicov                    2:5020/40.102  12 Dec 2003  14:55:29
 To : All
 Subject : Fcntl
 -------------------------------------------------------------------------------- 
 
 Мне нужно использовать неблокирующее соединение.
 Глянул в "Разработку сетевых программ на Perl" - для включения такого соединения
 используется функция blocking ($sock,0):
 
 sub blocking{
    my ($handle,$blocking)=@_;
    die "Can't fcntl(F_GETFL)" unless my $flags=fcntl($handle,F_GETFL,0);
    my $current=($flags & O_NONBLOCK)==0;
    if (defined $blocking){
       $flags &= ~O_NONBLOCK if $nonblocking;
       $flags |=  O_NONBLOCK unless $blocking;
       die "Can't fcntl(F_SETFL)" unless fcntl($handle,F_SETFL,$flags);
    }
    return $current;
 }
 
 1) Во-первых, переменная $nonblocking не определена и непонятно потому какую  
 проверку делаем
 2) Выполнение вылетает уже на первой проверке в функции:
 Your vendor has not defined Fcntl macro F_GETFL
 
 Как исправить ? Подкиньте раьбочий пример, pls !
 ... Пусть ваши желания сойдут с ума от ваших возможностей !
 --- Team: [Ru.Znakomstva] [Mo.Apartments] [Mo.Apartments.Talk]
 
 

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

 Тема:    Автор:    Дата:  
 Fcntl   Vadim Tzirulnicov   12 Dec 2003 14:55:29 
Архивное /ru.perl/173513fd9ca93.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional