--- Coro/eg/event 2001/07/15 02:36:54 1.1 +++ Coro/eg/event 2001/07/15 03:24:18 1.2 @@ -3,13 +3,32 @@ use Coro; use Coro::Event; +my $stdin = Coro::Event->io(fd => \*STDIN, poll => 'r'); + +sub kbdline { + $stdin->next; + my $x = ; chomp $x; $x; +} + sub keyboard : Coro { - my $w = Coro::Event->io(fd => *STDIN, poll => 'r'); - while() { - print "cmd> "; - my $ev = $w->next; my $cmd = ; - print "data> "; - my $ev = $w->next; my $data = ; - } + $|=1; + while() { + print "cmd> "; my $cmd = kbdline; + print "data> "; my $data = kbdline; + print "cmd<$cmd> data<$data>\n"; + print "working..."; + do_timer(after => 1); + print "done\n"; + } } +sub idle : Coro { + my $w = Coro::Event->idle(min => 1, max => 2); + while () { + $w->next; + print "."; + }; +} + +Coro::Event->main; +