r24899: Register signal handler that tears down environment.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 2 Sep 2007 17:13:56 +0000 (17:13 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:03:34 +0000 (15:03 -0500)
(This used to be commit fa89d228dd1988a74eea107ac8c2773cff7b9df1)

source4/selftest/selftest.pl

index 9f16db01149e87cf1bea3317e089aa0c97bdf703..5b5c0146adc0dbf78f175edb91c8b1f5fb8cba18 100755 (executable)
@@ -615,6 +615,12 @@ my @exported_envvars = (
        "WINBINDD_SOCKET_DIR"
 );
 
+$SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub { 
+       my $signame = shift;
+       teardown_env($_) foreach(keys %running_envs);
+       die("Received signal $signame");
+};
+
 sub setup_env($)
 {
        my ($envname) = @_;
@@ -633,6 +639,8 @@ sub setup_env($)
 
        return undef unless defined($testenv_vars);
 
+       $running_envs{$envname} = $testenv_vars;
+
        SocketWrapper::set_default_iface(6);
        write_clientconf($conffile, $testenv_vars);
 
@@ -644,7 +652,6 @@ sub setup_env($)
                }
        }
 
-       $running_envs{$envname} = $testenv_vars;
        return $testenv_vars;
 }