poky: sumo refresh 64a257fa22..fa962ec72f

Update poky to sumo HEAD.

Anuj Mittal (1):
      linux-yocto: update genericx86* SRCREV for 4.14

Martin Hundebøll (2):
      shadow: improve reproducibility by hard-coding shell path
      busybox: make busybox.links.{suid, nosuid} reproducible

Paul Eggleton (1):
      socat: fix LICENSE

Richard Purdie (10):
      sanity: Add check for WSL
      poky.conf: Update the distros we test against on the autobuilder
      poky.conf: Bump version for 2.5.2 sumo release
      build-appliance-image: Update to sumo head revision
      bitbake: server/process: Fix unclosed socket warnings upon server connection refused
      bitbake: lib/bb/server: Avoid UnboundLocalError traceback
      bitbake: server/process: Fix ConnectionRefusedError tracebacks
      bitbake: runqueue: Ensure disk monitor is started when no setscene tasks are run
      bitbake: process: Flush key output to logs
      bitbake: main: Don't use print() directly, use logger

Change-Id: Ie14695232a8adecd2013d629208da320963532ce
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 828159e..0749b5b 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -428,6 +428,8 @@
 
     def _startServer(self):
         print(self.start_log_format % (os.getpid(), datetime.datetime.now().strftime(self.start_log_datetime_format)))
+        sys.stdout.flush()
+
         server = ProcessServer(self.bitbake_lock, self.sock, self.sockname)
         self.configuration.setServerRegIdleCallback(server.register_idle_function)
         writer = ConnectionWriter(self.readypipein)
@@ -443,6 +445,8 @@
         server.server_timeout = self.configuration.server_timeout
         server.xmlrpcinterface = self.configuration.xmlrpcinterface
         print("Started bitbake server pid %d" % os.getpid())
+        sys.stdout.flush()
+
         server.start()
 
 def connectProcessServer(sockname, featureset):
@@ -451,16 +455,15 @@
     # AF_UNIX has path length issues so chdir here to workaround
     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:
+        try:
+            os.chdir(os.path.dirname(sockname))
+            sock.connect(os.path.basename(sockname))
+        finally:
+            os.chdir(cwd)
 
         # Send an fd for the remote to write events to
         readfd, writefd = os.pipe()
@@ -489,7 +492,8 @@
             command_chan.close()
         for i in [writefd, readfd1, writefd2]:
             try:
-                os.close(i)
+                if i:
+                    os.close(i)
             except OSError:
                 pass
         sock.close()