From patchwork Fri Jun 22 11:53:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel] utils.py: Add function to set nonblocking operation on a file descriptor Date: Fri, 22 Jun 2012 11:53:16 -0000 From: Richard Purdie X-Patchwork-Id: 30461 Message-Id: <1340365996.394.15.camel@ted> To: bitbake-devel Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 1d9bdf0..03766ad 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -1736,7 +1736,7 @@ class runQueuePipe(): def __init__(self, pipein, pipeout, d): self.input = pipein pipeout.close() - fcntl.fcntl(self.input, fcntl.F_SETFL, fcntl.fcntl(self.input, fcntl.F_GETFL) | os.O_NONBLOCK) + bb.utils.nonblockingfd(self.input) self.queue = "" self.d = d diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index fc389a3..77ad39e 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -26,6 +26,7 @@ import logging import bb import bb.msg import multiprocessing +import fcntl from commands import getstatusoutput from contextlib import contextmanager @@ -754,3 +755,7 @@ def contains(variable, checkvalues, truevalue, falsevalue, d): def cpu_count(): return multiprocessing.cpu_count() + +def nonblockingfd(fd): + fcntl.fcntl(fd, fcntl.F_SETFL, fcntl.fcntl(fd, fcntl.F_GETFL) | os.O_NONBLOCK) +