[PATCH 4 of 5 STABLE] crecord: ensure we reinstall the SIGSTOP handler

Augie Fackler raf at durin42.com
Wed Apr 12 16:46:36 EDT 2017


On Wed, Apr 12, 2017 at 10:41:19AM +0200, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
> # Date 1491470713 -7200
> #      Thu Apr 06 11:25:13 2017 +0200
> # Branch stable
> # Node ID f83025d451fa293849f819cc997bc3f8c9ce42e0
> # Parent  7c33ce6b8a6991d4189c7d379a78a2c2fa802c35
> # EXP-Topic crecord-windows
> # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/
> #              hg pull https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r f83025d451fa
> crecord: ensure we reinstall the SIGSTOP handler

Up here you said "SIGSTOP"...

>
> Previous, exceptions would prevent the reinstallation of the
> signal.
>
> diff --git a/mercurial/crecord.py b/mercurial/crecord.py
> --- a/mercurial/crecord.py
> +++ b/mercurial/crecord.py
> @@ -474,11 +474,13 @@ def chunkselector(ui, headerlist, operat
>      ui.write(_('starting interactive selection\n'))
>      chunkselector = curseschunkselector(headerlist, ui, operation)
>      f = signal.getsignal(signal.SIGTSTP)
> -    curses.wrapper(chunkselector.main)
> -    if chunkselector.initerr is not None:
> -        raise error.Abort(chunkselector.initerr)
> -    # ncurses does not restore signal handler for SIGTSTP
> -    signal.signal(signal.SIGTSTP, f)

But down here it says SIGTSTP. Typo in the log message above?

> +    try:
> +        curses.wrapper(chunkselector.main)
> +        if chunkselector.initerr is not None:
> +            raise error.Abort(chunkselector.initerr)
> +        # ncurses does not restore signal handler for SIGTSTP
> +    finally:
> +        signal.signal(signal.SIGTSTP, f)
>      return chunkselector.opts
>
>  def testdecorator(testfn, f):
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list