Changeset 390

Show
Ignore:
Timestamp:
05/29/07 13:32:03 (1 year ago)
Author:
kindlund
Message:

Propagated destroy() code to Agent.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • honeyclient/branches/exp/kindlund-filesystem/lib/HoneyClient/Agent.pm

    r387 r390  
    433433     
    434434        for (;;) { 
    435             $daemon->handle
     435            $daemon->handle()
    436436        } 
    437437    } 
     
    488488        $driverDataSemaphore  = Thread::Semaphore->new(1); 
    489489        %driverUpdateQueues   = ( ); 
     490 
     491        # Destroy all integrity data, if defined. 
     492        if (defined($integrityData)) { 
     493            $integrityData->destroy(); 
     494        } 
    490495        $integrityData        = undef; 
    491  
    492         # TODO: 
    493         # need to call $integrityData->destroy, which will call 
    494         # the registry destroy, which will kill any used temporary 
    495         # files 
    496496         
    497497        # Release data lock. 
     
    766766    # Extract arguments. 
    767767    my $args = shift; 
    768  
    769768    my $driverName = $args->{'driver_name'}; 
    770769    my $integrity  = $args->{'integrity'}; 
     
    773772    my $data = undef; 
    774773 
    775 # XXX: Check if we need this
     774    # Yield processing to parent thread
    776775    threads->yield(); 
    777776 
     
    783782        ################################### 
    784783 
    785         # Initially set local integrity object to undef. 
    786 #        my $integrity = undef; 
    787                  
    788784        # Initially set all driver objects to undef.  
    789785        my $driver = undef; 
     
    891887            } 
    892888        } 
    893         # XXX: Check to make sure this doesn't destroy the integrity 
    894         # object prematurely. 
    895         # DESTROY this reference, but don't kill any temporary files created. 
     889        # Release our copy of the integrity object, but do not destroy  
     890        # any internal references. 
    896891        $integrity = undef; 
    897892 
     
    913908        # Release lock on stored driver state. 
    914909        _unlock($data); 
    915  
    916         # XXX: Debugging, remove eventually.  
    917         print "Exiting run() thread.\n"; 
    918910    }; 
    919911     
     
    10301022            my $driverClass = 'HoneyClient::Agent::Driver::Browser::' . $driverName; 
    10311023 
    1032 # XXX: See if this is still needed. 
    1033 #            eval "require $driverClass"; 
    1034 #            if ($@) { 
    1035 #                Carp::croak "$@"; 
    1036 #            } 
    1037                  
    10381024            if (!defined($data->{$driverName}->{'state'})) { 
    10391025