[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#761596: autopkgtest: overrides default SIGINT handler

Package: autopkgtest
Version: 3.5

Tests run under adt-run seem to have their default SIGINT handler
overridden. This is breaking at least libevent-rpc-perl, where
t/04.cnct-auth-ssl-verifypeer-noca.t is killing a process with SIGINT
and then hangs in 'wait' because the process didn't terminate.

Consider this test case:

  #!/usr/bin/perl -wl
  use strict;
  # $SIG{INT} = 'DEFAULT';
  $| = 1; # unbuffer output
  my $pid = fork;
  if ($pid) { # parent
      sleep 1;
      print "P: killing";
      kill 2 => $pid;
      print "P: waiting";
      print "P: done";
  } else { # kid
      print "K: sleeping";
      print "K: slept";

This hangs for me in adt-run with schroot at "P: waiting". 
If I uncomment the $SIG{INT} line, it gets to "P: done" as expected.

SIGQUIT seems to be similarly blocked.

Is this intentional and/or fixable?
Niko Tyni   ntyni at debian.org

Reply to: