&check_space($cl) if $cl > 0;
 
-    $SIG{ALRM} = sub { die "TIMEOUT\n" };
+    $SIG{ALRM} = sub {
+      $SIG{__DIE__} = 'DEFAULT';
+      die "TIMEOUT\n";
+    };
     alarm($timeout);
     binmode(STDIN,':raw');
 
     exit;
   }
 
-  $SIG{ALRM} = sub { die "TIMEOUT in showstatus: no (more) data received\n" };
+  $SIG{ALRM} = sub {
+    $SIG{__DIE__} = 'DEFAULT';
+    die "TIMEOUT in showstatus: no (more) data received\n";
+  };
   alarm($timeout*2);
 
   $t0 = $t1 = time;