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.15 by root, Sat Mar 29 14:09:17 2003 UTC vs.
Revision 1.20 by pcg, Fri Feb 13 23:17:41 2004 UTC

38 38
39=cut 39=cut
40 40
41package Coro::Event; 41package Coro::Event;
42 42
43no warnings qw(uninitialized); 43BEGIN { eval { require warnings } && warnings->unimport ("uninitialized") }
44 44
45use Carp; 45use Carp;
46 46
47use Coro; 47use Coro;
48use Event qw(loop unloop); # we are re-exporting this, cooool! 48use Event qw(loop unloop); # we are re-exporting this, cooool!
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.651; 55 $VERSION = 0.95;
56 56
57 local $^W = 0; # avoid redefine warning for Coro::ready; 57 local $^W = 0; # avoid redefine warning for Coro::ready;
58
58 require XSLoader; 59 require DynaLoader;
59 XSLoader::load Coro::Event, $VERSION; 60 push @ISA, 'DynaLoader';
61 bootstrap Coro::Event $VERSION;
60} 62}
61 63
62=item $w = Coro::Event->flavour(args...) 64=item $w = Coro::Event->flavour(args...)
63 65
64Create and return a watcher of the given type. 66Create and return a watcher of the given type.
107 }; 109 };
108 *{ $flavour } = $coronew; 110 *{ $flavour } = $coronew;
109 *{"do_$flavour"} = sub { 111 *{"do_$flavour"} = sub {
110 unshift @_, Coro::Event::; 112 unshift @_, Coro::Event::;
111 my $e = (&$coronew)->next; 113 my $e = (&$coronew)->next;
112 $e->cancel; # $e = $e->w->cancel ($e == $e->w!) 114 $e->cancel; # $e === $e->w
113 $e; 115 $e;
114 }; 116 };
115} 117}
116 118
117# double calls to avoid stack-cloning ;() 119# double calls to avoid stack-cloning ;()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines