diff --git a/mercurial/crecord.py b/mercurial/crecord.py --- a/mercurial/crecord.py +++ b/mercurial/crecord.py @@ -1616,8 +1616,10 @@ are you sure you want to review/edit and origsigwinchhandler = signal.signal(signal.SIGWINCH, self.sigwinchhandler) - return self._main(stdscr) - signal.signal(signal.SIGWINCH, origsigwinchhandler) + try: + return self._main(stdscr) + finally: + signal.signal(signal.SIGWINCH, origsigwinchhandler) def _main(self, stdscr): self.stdscr = stdscr