summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2013-01-10 03:11:35 -0800
committerZac Medico <zmedico@gentoo.org>2013-01-10 03:11:35 -0800
commit2642def0f2deb121a41ae9e20de38a67cfc0af16 (patch)
tree04c979ca2efac8d0d5b5fb761cc89afa9b01b33d
parent48caf2e819725a6caaf26c453f88e0c8460a5b4c (diff)
downloadportage-2642def0f2deb121a41ae9e20de38a67cfc0af16.tar.gz
portage-2642def0f2deb121a41ae9e20de38a67cfc0af16.tar.bz2
portage-2642def0f2deb121a41ae9e20de38a67cfc0af16.zip
SpawnProcess: handle fcntl ENOTTY for FreeBSD
-rw-r--r--pym/_emerge/SpawnProcess.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py
index f226dcb8f..5d0fcf6dd 100644
--- a/pym/_emerge/SpawnProcess.py
+++ b/pym/_emerge/SpawnProcess.py
@@ -117,9 +117,14 @@ class SpawnProcess(SubProcess):
except AttributeError:
pass
else:
- fcntl.fcntl(stdout_fd, fcntl.F_SETFL,
- fcntl.fcntl(stdout_fd,
- fcntl.F_GETFL) | fcntl.FD_CLOEXEC)
+ try:
+ fcntl.fcntl(stdout_fd, fcntl.F_SETFL,
+ fcntl.fcntl(stdout_fd,
+ fcntl.F_GETFL) | fcntl.FD_CLOEXEC)
+ except IOError:
+ # FreeBSD may return "Inappropriate ioctl for device"
+ # error here (ENOTTY).
+ pass
self._pipe_logger = PipeLogger(background=self.background,
scheduler=self.scheduler, input_fd=master_fd,