Most Linux and BSD distributions ship with a version of dd that
displays the status of a copy operation when a SIGUSR1 signal is
received. For some reason /usr/bin/dd on Solaris hosts doesn't contain
this capability, and I would like to add it. After reading through the
source code for dd.c, it looks like adding this support would be as
simple as installing a signal handler for SIGUSR1, and having it call
the function stats. I am attaching code (which I copied from the dd
that ships with Fedora Core Linux) [1] to add this support to
/usr/bin/dd, and have tested it on my build 54 machine. Would it be
possible to integrate this or something similar to opensolaris
(assuming this doesn't break some rule defined by the SUS or POSIX)?

- Ryan
UNIX Administrator


/* Create a signal handler for SIGUSR1 so dd can display stats on
active copies.*/
struct sigaction sa;
memset(&sa, 0, sizeof(sa));
sa.sa_handler = stats;
sa.sa_flags = SA_RESTART;
sigaction(SIGUSR1, &sa, 0);

Reply via email to