diff -up tcsh-6.17.00/sh.c_old tcsh-6.17.00/sh.c --- tcsh-6.17.00/sh.c_old 2009-10-19 17:18:01.000000000 +0200 +++ tcsh-6.17.00/sh.c 2009-10-19 17:18:50.000000000 +0200 @@ -1291,6 +1291,8 @@ main(int argc, char **argv) /* * Mop-up. */ + /* Take care of these (especially HUP) here instead of inside flush. */ + handle_pending_signals(); if (intty) { if (loginsh) { xprintf("logout\n");