|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexey Vissarionov 2:5020/545 19 Nov 2007 11:31:56 To : Alex Kocharin Subject : Про распарраллеливание... -------------------------------------------------------------------------------- 19 Nov 07 02:08, Alex Kocharin -> Alexey Vissarionov: AK>>>>> ужно в перловом скрипте одновременно лазить куда-то по http и AK>>>>> принимать команды юзера (через term::readline). Как это сделать? AV>>>> Дык точно так же, как и в C... треды, флаги и прочая муть :-) AV>>>> у, или совсем по-системному - с опросом двух handle'ов через AV>>>> select() AK>>> Так... Ладно, как-нить можно получить readline в неблокирующем AK>>> режиме? AV>> Через select() - `man perlfunc`, искать "select AV>> RBITS,WBITS,EBITS,TIMEOUT". Если припрет, могу угостить примером на AV>> оффтопике. AK> Что такое select, я знаю. Впрочем, от примера не откажусь. :-) Мылом, ибо оно на оффтопике. AK> о интересует то, что делать с term::readline. Предлагаешь stdin в AK> select писать? Он построчно читает... ужен какой-то способ AK> приостановить работу readline по таймауту... Оно есть? The usual idiom is: ($nfound,$timeleft) = select($rout=$rin, $wout=$win, $eout=$ein, $timeout); or to block until something becomes ready just do this $nfound = select($rout=$rin, $wout=$win, $eout=$ein, undef); Most systems do not bother to return anything use ful in $timeleft, so calling select() in scalar context just returns $nfound. Угадай, откуда цитата :-) -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... 09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0 --- /bin/vi * Origin: http://openwall.com/Owl/ru/ (2:5020/545) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/229447413cd5.html, оценка из 5, голосов 10
|