ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Event/Event.pm
(Generate patch)

Comparing Coro/Event/Event.pm (file contents):
Revision 1.19 by pcg, Sat Nov 15 03:53:10 2003 UTC vs.
Revision 1.23 by pcg, Fri May 14 13:25:09 2004 UTC

6 6
7 use Coro; 7 use Coro;
8 use Coro::Event; 8 use Coro::Event;
9 9
10 sub keyboard : Coro { 10 sub keyboard : Coro {
11 my $w = Coro::Event->io(fd => *STDIN, poll => 'r'); 11 my $w = Coro::Event->io(fd => \*STDIN, poll => 'r');
12 while() { 12 while() {
13 print "cmd> "; 13 print "cmd> ";
14 my $ev = $w->next; my $cmd = <STDIN>; 14 my $ev = $w->next; my $cmd = <STDIN>;
15 unloop unless $cmd ne ""; 15 unloop unless $cmd ne "";
16 print "data> "; 16 print "data> ";
50use base 'Exporter'; 50use base 'Exporter';
51 51
52@EXPORT = qw(loop unloop sweep reschedule); 52@EXPORT = qw(loop unloop sweep reschedule);
53 53
54BEGIN { 54BEGIN {
55 $VERSION = "0.9"; 55 $VERSION = 0.97;
56 56
57 local $^W = 0; # avoid redefine warning for Coro::ready; 57 local $^W = 0; # avoid redefine warning for Coro::ready;
58 58
59 require DynaLoader; 59 require DynaLoader;
60 push @ISA, 'DynaLoader'; 60 push @ISA, 'DynaLoader';
109 }; 109 };
110 *{ $flavour } = $coronew; 110 *{ $flavour } = $coronew;
111 *{"do_$flavour"} = sub { 111 *{"do_$flavour"} = sub {
112 unshift @_, Coro::Event::; 112 unshift @_, Coro::Event::;
113 my $e = (&$coronew)->next; 113 my $e = (&$coronew)->next;
114 $e->cancel; # $e = $e->w->cancel ($e == $e->w!) 114 $e->cancel; # $e === $e->w
115 $e; 115 $e;
116 }; 116 };
117} 117}
118 118
119# double calls to avoid stack-cloning ;() 119# double calls to avoid stack-cloning ;()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines