[oe-commits] [bitbake] 04/05: process: Handle EWOULDBLOCK in socket connect
git at git.openembedded.org
git at git.openembedded.org
Wed Dec 26 11:13:16 UTC 2018
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master
in repository bitbake.
commit d5b0a9a302ac0eafa4f797ac15ea77db87e82b3c
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Mon Dec 24 16:32:18 2018 +0000
process: Handle EWOULDBLOCK in socket connect
Now that we set a timeout for the socket, it can return EWOULDBLOCK
if a signal or other event happens to wake up even if we don't timeout.
If this happens, retry the connection, else we simply see it quickly
loop through the retries and abort the connection in a very short
interval.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
lib/bb/server/process.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index f1fbe33..1e4b51e 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -479,7 +479,14 @@ def connectProcessServer(sockname, featureset):
try:
try:
os.chdir(os.path.dirname(sockname))
- sock.connect(os.path.basename(sockname))
+ finished = False
+ while not finished:
+ try:
+ sock.connect(os.path.basename(sockname))
+ finished = True
+ except IOError as e:
+ if e.errno == errno.EWOULDBLOCK:
+ pass
finally:
os.chdir(cwd)
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list