ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent/Impl/Event.pm
Revision: 1.12
Committed: Fri Nov 24 14:50:12 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_1
Changes since 1.11: +2 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 package AnyEvent::Impl::Event;
2
3 no warnings;
4
5 use Event ();
6
7 sub io {
8 my ($class, %arg) = @_;
9 $arg{fd} = delete $arg{fh};
10 bless \(my $x = Event->io (%arg)), $class
11 }
12
13 sub timer {
14 my ($class, %arg) = @_;
15 my $cb = delete $arg{cb};
16 bless \(my $w = Event->timer (
17 %arg,
18 cb => sub {
19 $_[0]->w->cancel;
20 $cb->();
21 },
22 )), $class
23 }
24
25 sub DESTROY {
26 ${$_[0]}->cancel;
27 }
28
29 sub condvar {
30 my $class = shift;
31
32 bless \my $flag, $class
33 }
34
35 sub broadcast {
36 ${$_[0]}++;
37 }
38
39 sub wait {
40 Event::one_event while !${$_[0]};
41 }
42
43 sub one_event {
44 Event::one_event;
45 }
46
47 1
48