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.18 by pcg, Wed Nov 5 20:02:47 2003 UTC vs.
Revision 1.29 by root, Tue Aug 30 21:32:17 2005 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.8; 55 $VERSION = 1.31;
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 ;()
193 193
1941; 1941;
195 195
196=head1 AUTHOR 196=head1 AUTHOR
197 197
198 Marc Lehmann <pcg@goof.com> 198 Marc Lehmann <schmorp@schmorp.de>
199 http://www.goof.com/pcg/marc/ 199 http://home.schmorp.de/
200 200
201=cut 201=cut
202 202

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines