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

Comparing Coro/Coro/AnyEvent.pm (file contents):
Revision 1.57 by root, Wed Apr 14 01:56:02 2010 UTC vs.
Revision 1.58 by root, Fri May 7 20:28:30 2010 UTC

174Coro::_set_readyhook (\&AnyEvent::detect); 174Coro::_set_readyhook (\&AnyEvent::detect);
175 175
176AnyEvent::post_detect { 176AnyEvent::post_detect {
177 unshift @AnyEvent::CondVar::ISA, "Coro::AnyEvent::CondVar"; 177 unshift @AnyEvent::CondVar::ISA, "Coro::AnyEvent::CondVar";
178 178
179 Coro::_set_readyhook undef;
180
181 my $model = $AnyEvent::MODEL; 179 my $model = $AnyEvent::MODEL;
182 180
183 if ($model eq "AnyEvent::Impl::EV" and eval { require Coro::EV }) { 181 if ($model eq "AnyEvent::Impl::EV" and eval { require Coro::EV }) {
184 # provider faster versions of some functions 182 # provide faster versions of some functions
183 Coro::EV::_set_readyhook ();
185 184
186 eval ' 185 eval '
187 *sleep = \&Coro::EV::timer_once; 186 *sleep = \&Coro::EV::timer_once;
188 *poll = \&Coro::EV::_poll; 187 *poll = \&Coro::EV::_poll;
189 *idle = sub() { 188 *idle = sub() {
204 }; 203 };
205 '; 204 ';
206 die if $@; 205 die if $@;
207 206
208 } elsif ($model eq "AnyEvent::Impl::Event" and eval { require Coro::Event }) { 207 } elsif ($model eq "AnyEvent::Impl::Event" and eval { require Coro::Event }) {
208 Coro::_set_readyhook undef;
209 # let Coro::Event do its thing 209 # let Coro::Event do its thing
210 } else { 210 } else {
211 # do the inefficient thing ourselves 211 # do the inefficient thing ourselves
212 Coro::_set_readyhook \&_activity; 212 Coro::_set_readyhook \&_activity;
213 213

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines