[Moscow.pm] Эмуляция cede на AE...

Mons Anderson mons на cpan.org
Пн Июн 16 09:08:36 PDT 2014


Зачем вам ЭТО?

On 16.06.2014, at 11:54, Илья Винокуров <ilvin на mail.ru> wrote:

> 
> Sun, 15 Jun 2014 23:22:56 +0300 от Андрей Костенко <andrey на kostenko.name>:
> Ох и говно в голове у вас, ребята
> 
> Давайте переведем разговор на другую тему и не будем обсуждать имидж страны Украина в глазах москалей.
> 
> Недавно не осилил на AnyEvent сделать эмуляцию cede
> 
> Какая была задумка:
> 
> use AnyEvent;
> 
> my $flag = 0;
> 
> sub CEDE {
>     my $cv = AE::cv;
>     my $w = AE::idle sub {
>         return unless $flag > 3;
>         $cv->send;
>     };
>     $cv->recv;
>     undef $w
> }
> 
> my ($w1, $w2);
> $w1 = AE::timer 1, 1, sub { $flag++ };
> $w2 = AE::idle sub {
>     # Тут код
>     CEDE(); # Здесь ждем выполнения условия
>     # Продолжаем выполнение
> };
> 
> AE::cv->recv;
> 
> Результат - ошибка:
> EV: error in callback (ignoring): AnyEvent::CondVar: recursive blocking wait attempted
> 
> В принципе возможна такая эмуляция или Марк сделал все, чтобы AE и Coro не конкурировали?
> 
> С почтением,
>   Илья Винокуров.
> 
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140616/9a8f98c0/attachment.html>


Подробная информация о списке рассылки Moscow-pm