diff options
-rw-r--r-- | ranger/core/runner.py | 3 | ||||
-rw-r--r-- | ranger/ext/waitpid_no_intr.py | 30 |
2 files changed, 1 insertions, 32 deletions
diff --git a/ranger/core/runner.py b/ranger/core/runner.py index 53bede29..4df5fe6f 100644 --- a/ranger/core/runner.py +++ b/ranger/core/runner.py @@ -34,7 +34,6 @@ p: redirect output to the pager import os import sys from subprocess import Popen, PIPE -from ranger.ext.waitpid_no_intr import waitpid_no_intr ALLOWED_FLAGS = 'sdpwcSDPWC' @@ -199,7 +198,7 @@ class Runner(object): self._log("Failed to run: " + str(action)) else: if context.wait: - waitpid_no_intr(process.pid) + process.wait() if wait_for_enter: press_enter() finally: diff --git a/ranger/ext/waitpid_no_intr.py b/ranger/ext/waitpid_no_intr.py deleted file mode 100644 index 12fbcbce..00000000 --- a/ranger/ext/waitpid_no_intr.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2009, 2010 Roman Zimbelmann <romanz@lavabit.com> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -from errno import EINTR -from os import waitpid - -def waitpid_no_intr(pid): - """catch interrupts which occur while using os.waitpid""" - while True: - try: - return waitpid(pid, 0) - except KeyboardInterrupt: - continue - except OSError as e: - if e.errno == EINTR: - continue - else: - raise |