diff options
Diffstat (limited to 'perl/Wallet/Kadmin')
| -rw-r--r-- | perl/Wallet/Kadmin/Heimdal.pm | 5 | ||||
| -rw-r--r-- | perl/Wallet/Kadmin/MIT.pm | 12 | 
2 files changed, 12 insertions, 5 deletions
| diff --git a/perl/Wallet/Kadmin/Heimdal.pm b/perl/Wallet/Kadmin/Heimdal.pm index 9c2805b..b0010a5 100644 --- a/perl/Wallet/Kadmin/Heimdal.pm +++ b/perl/Wallet/Kadmin/Heimdal.pm @@ -39,6 +39,11 @@ sub error {      return $self->{error};  } +# Set a callback to be called for forked kadmin processes.  This does nothing +# for Heimdal, as we're not forking anything, but remains for compatibility +# with the MIT kadmin module. +sub fork_callback { } +  ##############################################################################  # kadmin Interaction  ############################################################################## diff --git a/perl/Wallet/Kadmin/MIT.pm b/perl/Wallet/Kadmin/MIT.pm index 2e9b0b4..c3ad901 100644 --- a/perl/Wallet/Kadmin/MIT.pm +++ b/perl/Wallet/Kadmin/MIT.pm @@ -39,6 +39,12 @@ sub error {      return $self->{error};  } +# Set a callback to be called for forked kadmin processes. +sub fork_callback { +    my ($self, $callback) = @_; +    $self->{fork_callback} = $callback; +} +  ##############################################################################  # kadmin Interaction  ############################################################################## @@ -73,11 +79,7 @@ sub kadmin {          $self->error ("cannot fork: $!");          return;      } elsif ($pid == 0) { -        # TODO - How should I handle the db handle? -        # Don't use die here; it will get trapped as an exception.  Also be -        # careful about our database handles.  (We still lose if there's some -        # other database handle open we don't know about.) -        #$object->{dbh}->{InactiveDestroy} = 1; +        $self->{fork_callback} ();          unless (open (STDERR, '>&STDOUT')) {              warn "wallet: cannot dup stdout: $!\n";              exit 1; | 
