Changeset 5819


Ignore:
Timestamp:
07/04/09 06:46:54 (3 years ago)
Author:
submersible_toaster
Message:

more reliable shutdown of service. there is still a race here i think

Location:
branches/Padre-Taskmanager/lib/Padre
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/Padre-Taskmanager/lib/Padre/Service.pm

    r5814 r5819  
    7575my $running = 0; 
    7676sub running { $running }; 
     77 
     78sub stop { $running = 0 }; 
     79sub start{ $running = 1 }; #?? 
    7780 
    7881sub run { 
     
    110113            Padre::Util::debug( "Caught command signal '$command'" ); 
    111114            if ( $command eq 'HANGUP' ) { 
    112                 $self->hangup; 
    113                 $running = 0; 
     115                $self->hangup( \$running ); 
    114116            } elsif ( $command eq 'TERMINATE' ) { 
    115                 $self->terminate; 
    116                 $running = 0; 
     117                $self->terminate( \$running ); 
    117118            } elsif ( $command eq 'PING' ) { 
    118119                $self->post_event( $event, "ALIVE" ); 
     
    139140 
    140141 
    141 sub start { 
    142      
    143 } 
    144  
    145142=head2 hangup 
    146143 
     
    151148 
    152149sub hangup { 
    153     my ($self) = @_; 
    154  
     150    my ($self,$running) = @_; 
     151    $self->transport->shutdown; 
     152    $$running = 0; 
    155153} 
    156154 
     
    164162 
    165163sub terminate { 
    166     my ($self) = @_; 
    167  
     164    my ($self,$running) = @_; 
     165    $self->transport->shutdown; 
     166    $$running = 0; 
    168167} 
    169168 
  • branches/Padre-Taskmanager/lib/Padre/Wx/Main.pm

    r5813 r5819  
    21332133 
    21342134 
    2135     Padre::Util::debug("Tell TaskManager to cleanup"); 
    2136     # Stop all Task Manager's worker threads 
    2137     $self->ide->task_manager->cleanup; 
    2138      
    21392135    # Immediately hide the window so that the user 
    21402136    # perceives the application as closing faster. 
     
    21812177    $ide->save_config; 
    21822178    $event->Skip; 
     2179 
     2180    Padre::Util::debug("Tell TaskManager to cleanup"); 
     2181    # Stop all Task Manager's worker threads 
     2182    $self->ide->task_manager->cleanup; 
    21832183 
    21842184    Padre::Util::debug("Closing Padre"); 
Note: See TracChangeset for help on using the changeset viewer.