Paul Eggert wrote:
Guillaume Chazarain <[EMAIL PROTECTED]> writes:Actually, it does a bit more. As it prints a message for the first time, it has to
With recent linux distributions (using NPTL), dd can hang waiting on[...]
a futex when being killed.
When "dd" gets a signal, it closes the input and output files, prints
some statistics, and exits. If it gets a second signal it exits
immediately. I don't offhand see why this could cause a hang that was
dd's fault.
initialize gettext, and I'm not sure this qualifies for the "do as little as possible
in a signal handler" rule.
On a side not, the problem disappears with the LD_ASSUME_KERNEL=2.4 trick.
I workaround the problem with this:
--- coreutils-5.3.0/src/dd.c
+++ coreutils-5.3.0/src/dd.c
@@ -1535,6 +1535,7 @@ main (int argc, char **argv)
#endif
}+ _("Do not initialize gettext in a signal handler");
install_handler (SIGINT, interrupt_handler);
install_handler (SIGQUIT, interrupt_handler);
install_handler (SIGPIPE, interrupt_handler);but you don't have to tell me you don't like it, I know.
Regards.
-- Guillaume
_______________________________________________ Bug-coreutils mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-coreutils
