diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index c9dfb4fa23..c3c1450a50 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py @@ -233,6 +233,9 @@ class BitBakeProcessServerConnection(BitBakeBaseServerConnection): self.ui_channel.close() self.event_queue.close() self.event_queue.setexit() + # XXX: Call explicity close in _writer to avoid + # fd leakage because isn't called on Queue.close() + self.event_queue._writer.close() # Wrap Queue to provide API which isn't server implementation specific class ProcessEventQueue(multiprocessing.queues.Queue): @@ -264,7 +267,6 @@ class ProcessEventQueue(multiprocessing.queues.Queue): sys.exit(1) return None - class BitBakeServer(BitBakeBaseServer): def initServer(self, single_use=True): # establish communication channels. We use bidirectional pipes for