----- Original Message ----- > From: "Pádraig Brady" <[email protected]> > To: "Federico Simoncelli" <[email protected]> > Cc: "Coreutils" <[email protected]> > Sent: Monday, September 29, 2014 1:32:48 PM > Subject: Re: dd SIGUSR1 race > > On 09/26/2014 06:39 PM, Federico Simoncelli wrote: > > ----- Original Message ----- > >> From: "Pádraig Brady" <[email protected]> > >> To: "Federico Simoncelli" <[email protected]> > >> Cc: "Bernhard Voelker" <[email protected]>, "Coreutils" > >> <[email protected]> > >> Sent: Friday, September 26, 2014 6:05:33 PM > >> Subject: Re: dd SIGUSR1 race > >> > >>> Many other commands are providing an explicit flag: wget, curl, > >>> qemu-img, etc. > >> > >> Yes, I see qemu-img supports both. > >> If not too invasive, we could accept a status=progress patch to output > >> stats every approx 1s (noting the caveats of being blocked behind large > >> reads/writes) > > > > I'll try to investigate if I can easily use sigusr1 with your new patch, > > meanwhile I came up with a patch adding status=progress. > > > > It's a simple draft and I am open to hear all comments about it, > > especially on what's the format to report the progress. > > > > For example qemu-img uses '\r' so that the output is always on the same > > line. > > > > Patch in attachment. > > I like the idea of '\r', but it involved a little adjustment to deal with. > I've updated your patch (attached) with the following changes: > > - Augmented the texinfo and NEWS entries > - Added documentation to --help/man > - Adjusted periodic output to use \r rather than \n > - Used gethrxtime() rather than clock_gettime() which is not generally > available > - Avoided a race and CPU spinning in the test
Awesome, thanks! I tried the patch and the behavior is correct in all the scenario I tested (status=progress, various signals SIGINT/TERM, etc.) LGTM -- Federico
