Title: [262293] trunk/Tools
Revision
262293
Author
[email protected]
Date
2020-05-29 06:58:01 -0700 (Fri, 29 May 2020)

Log Message

[Flatpak] Fix os.system return code for better signal handling.

Rubber-stamped by Philippe Normand.

The previous fix in r262270 correctly fixed the return code issue
but made signal handling pass through python. For example, when you
ctlr+C running MiniBrowser, you'd get a python stacktrace deep inside
subprocess.call.

So, revert back to os.system but fixing the return code.

* flatpak/webkit-bwrap:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (262292 => 262293)


--- trunk/Tools/ChangeLog	2020-05-29 13:19:15 UTC (rev 262292)
+++ trunk/Tools/ChangeLog	2020-05-29 13:58:01 UTC (rev 262293)
@@ -1,3 +1,18 @@
+2020-05-29  Lauro Moura  <[email protected]>
+
+        [Flatpak] Fix os.system return code for better signal handling.
+
+        Rubber-stamped by Philippe Normand.
+
+        The previous fix in r262270 correctly fixed the return code issue
+        but made signal handling pass through python. For example, when you
+        ctlr+C running MiniBrowser, you'd get a python stacktrace deep inside
+        subprocess.call.
+
+        So, revert back to os.system but fixing the return code.
+
+        * flatpak/webkit-bwrap:
+
 2020-05-29  Philippe Normand  <[email protected]>
 
         [Flatpak SDK] Update OpenXR

Modified: trunk/Tools/flatpak/webkit-bwrap (262292 => 262293)


--- trunk/Tools/flatpak/webkit-bwrap	2020-05-29 13:19:15 UTC (rev 262292)
+++ trunk/Tools/flatpak/webkit-bwrap	2020-05-29 13:58:01 UTC (rev 262293)
@@ -21,7 +21,6 @@
 import shlex
 import sys
 import tempfile
-import subprocess
 
 scriptdir = os.path.abspath(os.path.dirname(__file__))
 
@@ -60,7 +59,10 @@
         bwrap_args.extend(["--bind-try", src, dst])
 
     command_line = ' '.join(shlex.quote(a) for a in bwrap_args + args)
-    return subprocess.call(command_line, shell=True, close_fds=False)
+    # os.system return code behaves like os.wait. A 16 bit number with the
+    # signal in the lower byte and, if the signal is zero, the exit code in
+    # the high byte.
+    return os.system(command_line) >> 8
 
 if __name__ == "__main__":
     sys.exit(main(sys.argv[1:]))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to