tags 462276 fixed-upstream
thanks
On Sun, Jan 27, 2008 at 12:27:26AM +0000, Colin Watson wrote:
> On Wed, Jan 23, 2008 at 06:32:09PM +0100, Eugen Dedu wrote:
> > $ man -a iconv
> > [...]
> > q
> > --Man-- next: iconv(3) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
> >
> > I want to quit, but pressing CTRL-C does not do anything.
>
> Thanks for your report. This is due to a decompression process being
> started earlier than it strictly needs to be, and SIGINT is ignored
> while subprocesses are running because that's what you want for things
> like pagers.
>
> I rearranged things somewhat to avoid this problem. (This was while on
> the train, so I haven't checked it in yet, but it will land in 2.5.1.)
> I'm not terribly happy with the elegance of this rearrangement, so I
> will probably revisit this later. Perhaps the right answer is to add a
> facility to avoid ignoring SIGINT and use it for decompression
> processes, since they aren't expected to be interactive.
It turns out that my quick hack had some problems, so I ended up
implementing the neater solution after all.
Sun Jan 27 13:37:17 GMT 2008 Colin Watson <[EMAIL PROTECTED]>
* lib/pipeline.h (struct pipeline): Add ignore_signals member.
* lib/pipeline.c (pipeline_new): Initialise ignore_signals to 1.
(pipeline_join): Set ignore_signals if either input pipeline has
it set.
(pipeline_start): Only ignore SIGINT and SIGQUIT if ignore_signals
is set.
(pipeline_wait): Only restore SIGINT and SIGQUIT if ignore_signals
is set.
* lib/decompress.c (decompress_open, decompress_fdopen): Set
ignore_signals to 0 so that SIGINT and SIGQUIT are not ignored
just because a decompression process is running (Debian bug
#462276).
* docs/NEWS: Document this.
Cheers,
--
Colin Watson [EMAIL PROTECTED]
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]