merging
Uri Guttman [Tue, 15 Sep 2009 17:54:48 +0000 (13:54 -0400)]
lib/Stem/Event.pm
lib/Stem/Event/Queue.pm
lib/Stem/Event/Signal.pm
t/event/event_test.pl

index 1df1a00..712ccc7 100644 (file)
@@ -73,6 +73,10 @@ Stem::Event::Queue::_init_queue() if defined &Stem::Event::Queue::_init_queue ;
 
        $loop_class->_init_loop() ;
 
+<<<<<<< HEAD:lib/Stem/Event.pm
+#Stem::Event::Queue::_init_queue() if defined &Stem::Event::Queue::_init_queue ;
+=======
+>>>>>>> master:lib/Stem/Event.pm
 
 }
 
@@ -322,6 +326,10 @@ print "not found\n" ;
 ############################################################################
 
 package Stem::Event::Plain ;
+<<<<<<< HEAD:lib/Stem/Event.pm
+
+=======
+>>>>>>> master:lib/Stem/Event.pm
 our @ISA = qw( Stem::Event ) ;
 
 =head2 Stem::Event::Plain::new
@@ -378,6 +386,10 @@ sub new {
 ############################################################################
 
 package Stem::Event::Signal ;
+<<<<<<< HEAD:lib/Stem/Event.pm
+
+=======
+>>>>>>> master:lib/Stem/Event.pm
 our @ISA = qw( Stem::Event ) ;
 
 =head2 Stem::Event::Signal::new
@@ -464,6 +476,10 @@ sub new {
 ############################################################################
 
 package Stem::Event::Timer ;
+<<<<<<< HEAD:lib/Stem/Event.pm
+
+=======
+>>>>>>> master:lib/Stem/Event.pm
 our @ISA = qw( Stem::Event ) ;
 
 =head2 Stem::Event::Timer::new
@@ -653,6 +669,10 @@ sub timer_triggered {
 # these override Stem::Event's methods and then call those via SUPER::
 
 package Stem::Event::IO ;
+<<<<<<< HEAD:lib/Stem/Event.pm
+
+=======
+>>>>>>> master:lib/Stem/Event.pm
 our @ISA = qw( Stem::Event ) ;
 
 sub init_io_timeout {
@@ -729,6 +749,10 @@ package Stem::Event::Read ;
 our @ISA = qw( Stem::Event::IO ) ;
 print "B @ISA\n" ;
 
+<<<<<<< HEAD:lib/Stem/Event.pm
+our @ISA = qw( Stem::Event::IO ) ;
+=======
+>>>>>>> master:lib/Stem/Event.pm
 
 =head2 Stem::Event::Read::new
 
@@ -828,6 +852,10 @@ print "@ISA\n" ;
 ############################################################################
 
 package Stem::Event::Write ;
+<<<<<<< HEAD:lib/Stem/Event.pm
+
+=======
+>>>>>>> master:lib/Stem/Event.pm
 our @ISA = qw( Stem::Event::IO ) ;
 
 =head2 Stem::Event::Write::new
index 241bba3..c473237 100644 (file)
@@ -49,14 +49,18 @@ use warnings ;
 use Socket;
 use IO::Handle ;
 
+<<<<<<< HEAD:lib/Stem/Event/Queue.pm
+my( $self, $queue_read, $queue_write, $queue_read_event, $queue_has_event ) ;
+=======
 use base 'Exporter' ;
 our @EXPORT = qw( mark_not_empty ) ;
+>>>>>>> master:lib/Stem/Event/Queue.pm
 
-my( $queue_read, $queue_write, $queue_read_event ) ;
+sub _init_event_queue {
 
-my $self ;
+       return if $self ;
 
-sub _init_queue {
+       $self = bless {} ;
 
        socketpair( $queue_read, $queue_write,
                 AF_UNIX, SOCK_STREAM, PF_UNSPEC ) || die <<DIE ;
@@ -65,7 +69,6 @@ DIE
 
 #print fileno( $queue_read ), " FILENO\n" ;
 
-       $self = bless {} ;
 
        $queue_read->blocking( 0 ) ;
        $queue_read_event = Stem::Event::Read->new(
@@ -79,27 +82,25 @@ DIE
 
 }
 
-my $queue_is_marked ;
-
-sub mark_not_empty {
+sub queue_has_event {
 
        my( $always_mark ) = @_ ;
 
 # don't mark the queue if it is already marked and we aren't forced
 # the signal queue always marks the queue
 
-       return if $queue_is_marked && !$always_mark ;
+       return if $queue_has_event && !$always_mark ;
 
        syswrite( $queue_write, 'x' ) ;
 
-       $queue_is_marked = 1 ;
+       $queue_has_event = 1 ;
 }
 
 sub readable {
 
        sysread( $queue_read, my $buf, 10 ) ;
 
-       $queue_is_marked = 0 ;
+       $queue_has_event = 0 ;
 
 #      Stem::Event::Plain::process_queue();
        Stem::Event::Signal::process_signal_queue();
index 14a85ba..6523103 100644 (file)
@@ -32,8 +32,14 @@ sub _build {
 
        $SIG{ $signal } = $cached_handlers{$signal} ||=
                sub {
+<<<<<<< HEAD:lib/Stem/Event/Signal.pm
+       Stem::Event::Queue::queue_has_event() ;
+                       
+#print "HIT $signal\n";
+=======
 print "HIT $signal\n";
                        Stem::Event::Queue::mark_not_empty() ;
+>>>>>>> master:lib/Stem/Event/Signal.pm
                        push @signal_queue, $signal
                } ;
 
@@ -42,6 +48,12 @@ print "HIT $signal\n";
        $signal2event{$signal} = $self ;
 
 #print "$signal = $SIG{ $signal }\n" ;
+
+# make sure the event queue is set up so we can handle signals in the
+# event loop
+
+       Stem::Event::Queue::_init_event_queue() ;
+
        return ;
 }
 
index faefbfe..1615ff8 100644 (file)
@@ -50,7 +50,7 @@ sub test_plain_events {
                'object' => $self
        ) ;
 
-       ok( ref $event, 'plain event created' ) ;
+       ok( ref $event, 'plain - event created' ) ;
 
        Stem::Event::start_loop() ;
 
@@ -63,8 +63,12 @@ sub triggered {
 
        my( $self ) = @_ ;
 
+<<<<<<< HEAD:t/event/event_test.pl
+       ok( 1, 'plain - event triggered' ) ;
+=======
        ok( 1, 'plain event triggered' ) ;
        Stem::Event::stop_loop() ;
+>>>>>>> master:t/event/event_test.pl
 }
 
 sub test_signal_events {
@@ -97,7 +101,7 @@ sub send_int_signal {
                        'signal'        => 'INT',
                ) ;
 
-               ok( ref $event, 'signal event created' ) ;
+               ok( ref $event, 'signal - event created' ) ;
 
                $self->{'sig_event'} = $event ;
 
@@ -113,7 +117,7 @@ sub sig_int_handler {
 
        my( $self ) = @_ ;
 
-       ok( 1, 'signal event triggered' ) ;
+       ok( 1, 'signal - event triggered' ) ;
 
        $self->{'sig_event'}->cancel() ;
        Stem::Event::stop_loop() ;
@@ -138,7 +142,7 @@ sub test_hard_timer_events {
                'hard'          => 1,
        ) ;
 
-       ok( ref $event, 'hard timer event created' ) ;
+       ok( ref $event, 'hard timer - event created' ) ;
        print "$event\n" unless ref $event ;
 
        $self->{'hard_timer_event'} = $event ;
@@ -154,9 +158,13 @@ sub hard_timeout {
 
        my( $self ) = @_ ;
 
+<<<<<<< HEAD:t/event/event_test.pl
+       ok( 1, 'hard timer - event triggered' ) ;
+=======
 send_int_signal() ;
 
        ok( 1, 'hard timer event triggered' ) ;
+>>>>>>> master:t/event/event_test.pl
 
        if ( --$self->{'hard_timer_count'} > 0 ) {
 
@@ -164,7 +172,7 @@ send_int_signal() ;
                my $delta = $time - $self->{'hard_timer_start_time'} ;
                $self->{'hard_timer_start_time'} = $time ;
 
-               ok( $delta >= INTERVAL, 'hard delta' ) ;
+               ok( $delta >= INTERVAL, 'hard timer - delta' ) ;
 
                hard_sleep( SLEEP ) ;
 
@@ -177,8 +185,8 @@ send_int_signal() ;
 
 #print "O $self->{'hard_timer_start_time'} T $time D $delta I ", INTERVAL, "\n" ;
 
-       ok( $delta >= INTERVAL, 'hard delta 2' ) ;
-       ok( $delta <= INTERVAL + SLEEP, 'hard delta sleep' ) ;
+       ok( $delta >= INTERVAL, 'hard timer - delta 2' ) ;
+       ok( $delta <= INTERVAL + SLEEP, 'hard timer - delta sleep' ) ;
 
        $self->{'hard_timer_event'}->cancel() ;
 
@@ -199,7 +207,7 @@ sub test_soft_timer_events {
                'repeat'        => 1,
        ) ;
 
-       ok( ref $event, 'soft timer event created' ) ;
+       ok( ref $event, 'soft timer - event created' ) ;
 #      print "$event\n" unless ref $event ;
 
        $self->{'soft_timer_event'} = $event ;
@@ -217,7 +225,7 @@ sub soft_timeout {
 
        my( $self ) = @_ ;
 
-       ok( 1, 'soft timer event triggered' ) ;
+       ok( 1, 'soft timer - event triggered' ) ;
 
        if ( --$self->{'soft_timer_count'} > 0 ) {
 
@@ -226,7 +234,7 @@ sub soft_timeout {
 
 #print "T $time D $delta I ", INTERVAL, "\n" ;
 
-               ok( $delta >= INTERVAL, 'soft delta' ) ;
+               ok( $delta >= INTERVAL, 'soft timer - delta' ) ;
 
                hard_sleep( SLEEP ) ;
 
@@ -241,8 +249,8 @@ sub soft_timeout {
 
 #print "TIME2 $time OTIME $self->{'soft_timer_start_time'} DEL $delta INTERVAL ", INTERVAL, "\n" ;
 
-#      ok( $delta >= INTERVAL, 'soft delta 2' ) ;
-       ok( $delta >= INTERVAL + SLEEP, 'soft delta 3' ) ;
+#      ok( $delta >= INTERVAL, 'soft timer - delta 2' ) ;
+       ok( $delta >= INTERVAL + SLEEP, 'soft timer - delta 3' ) ;
 
        $self->{'soft_timer_event'}->cancel() ;
 
@@ -273,7 +281,7 @@ sub test_io_events {
                                'timeout'       =>      3,
        ) ;
 
-       ok( ref $read_event, 'read event created' ) ;
+       ok( ref $read_event, 'read - event created' ) ;
        $self->{'read_event'} = $read_event ;
 
        my $write_event = Stem::Event::Write->new(
@@ -281,19 +289,19 @@ sub test_io_events {
                                'fh'            =>      $write_fh,
        ) ;
 
-       ok( ref $write_event, 'write event created' ) ;
+       ok( ref $write_event, 'write - event created' ) ;
        $self->{'write_event'} = $write_event ;
 
        Stem::Event::start_loop() ;
 
-       ok( 1, 'io - event loop exit' ) ;
+       ok( 1, 'io event - loop exit' ) ;
 }
 
 sub read_timeout {
 
        my( $self ) = @_ ;
 
-       ok( 1, 'read event timed out' ) ;
+       ok( 1, 'read - event timed out' ) ;
 
        $self->{'write_event'}->start() ;
 }
@@ -303,7 +311,7 @@ sub writeable {
 
        my( $self ) = @_ ;
 
-       ok( 1, 'write event triggered' ) ;
+       ok( 1, 'write - event triggered' ) ;
 
        syswrite( $self->{'write_fh'}, $self->{'message'} ) ;
 
@@ -314,13 +322,13 @@ sub readable {
 
        my( $self ) = @_ ;
 
-       ok(1, 'read event triggered' ) ;
+       ok(1, 'read - event triggered' ) ;
 
        my( $read_buf ) ;
 
        my $bytes_read = sysread( $self->{'read_fh'}, $read_buf, 1000 ) ;
 
-       ok( $bytes_read, 'read byte count' ) ;
+       ok( $bytes_read, 'read - byte count' ) ;
 
        is( $read_buf, $self->{'message'}, 'read event compare' ) ;