dd dies on SIGUSR1

Oliver Fromme olli at lurza.secnetix.de
Tue Mar 22 14:57:36 UTC 2011

Chris Rees <utisoft at gmail.com> wrote:
 > Maxim Konovalov <maxim.konovalov at gmail.com> wrote:
 > > FreeBSD uses SIGINFO for such purposes for ages in many programs
 > > apart from dd(1).  IMHO, nothing to fix here.
 > Of course, and I'm not suggesting that FreeBSD is wrong in any way.
 > My point was that it was rather a harsh punishment for using a GNU-ism
 > where dd died after 30 minutes of chugging or so.

Well, when it died, it did exactly what you told it to:
Terminating the process is the default action for SIGUSR1,
see signal(3), and the dd(1) manpage doesn't mention that
SIGUSR1 is used for anything (in rather states that SIGINFO
is used for the purpose that you intended), so the default
action applies.

I tend to agree with Maxim here.

 > Would it hurt for dd to ignore the signal rather than die? I imagine a
 > lot less than otherwise.

But then -- for consistency -- you would have to apply the
same patch to *all* programs that use SIGINFO, such as dump
and tar.  And what should be done if a program uses SIGINFO
for status display *and* SIGUSR1 for something completely
unrelated, such as ftp(1)?

Best regards

Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"That's what I love about GUIs: They make simple tasks easier,
and complex tasks impossible."
        -- John William Chambless

More information about the freebsd-standards mailing list