diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-11-06 11:36:27 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-11-06 14:41:38 +0000 |
commit | afee3f594e1510051a0b18e430e92549caf72fa2 (patch) | |
tree | 02de23f26edbb2a9547653fd4b3de4f0cd25c20a | |
parent | 8e587386b0b3a0ed11edf71dfbe9fb508f60d0b3 (diff) | |
download | bitbake-afee3f594e1510051a0b18e430e92549caf72fa2.tar.gz |
server/process: Fix unclosed socket warnings upon server connection refused
Extend the server error handling to avoid:
Reconnecting to bitbake server...
NOTE: Retrying server connection... (Traceback (most recent call last):
File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/main.py", line 464, in setup_bitbake
server_connection = bb.server.process.connectProcessServer(sockname, featureset)
File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/server/process.py", line 457, in connectProcessServer
sock.connect(os.path.basename(sockname))
ConnectionRefusedError: [Errno 111] Connection refused
)
WARNING: /home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/main.py:481: ResourceWarning: unclosed <socket.socket fd=20, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0>
logger.info("Retrying server connection... (%s)" % traceback.format_exc())
NOTE: Starting bitbake server...
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/server/process.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py index 38b923fe2..ed930c61f 100644 --- a/lib/bb/server/process.py +++ b/lib/bb/server/process.py @@ -453,15 +453,14 @@ def connectProcessServer(sockname, featureset): cwd = os.getcwd() try: - os.chdir(os.path.dirname(sockname)) - sock.connect(os.path.basename(sockname)) - finally: - os.chdir(cwd) - - readfd = writefd = readfd1 = writefd1 = readfd2 = writefd2 = None - eq = command_chan_recv = command_chan = None + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) - try: + readfd = writefd = readfd1 = writefd1 = readfd2 = writefd2 = None + eq = command_chan_recv = command_chan = None # Send an fd for the remote to write events to readfd, writefd = os.pipe() |