Title: [279775] trunk/Tools
Revision
279775
Author
clo...@igalia.com
Date
2021-07-09 01:10:19 -0700 (Fri, 09 Jul 2021)

Log Message

[webkitcorepy] run-webkit-tests may hang with python2 after r271683
https://bugs.webkit.org/show_bug.cgi?id=227715

Reviewed by Philippe Normand.

When an exception is raised from a worker if the workers are terminated
via a SIGKILL signal that later causes the task-queue to hang at close().
The issue is not reproducible with python3. So keep the same behaviour for
python3, and for python2 just use terminate() to stop the workers.

* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.__exit__):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (279774 => 279775)


--- trunk/Tools/ChangeLog	2021-07-09 07:14:30 UTC (rev 279774)
+++ trunk/Tools/ChangeLog	2021-07-09 08:10:19 UTC (rev 279775)
@@ -1,3 +1,18 @@
+2021-07-09  Carlos Alberto Lopez Perez  <clo...@igalia.com>
+
+        [webkitcorepy] run-webkit-tests may hang with python2 after r271683
+        https://bugs.webkit.org/show_bug.cgi?id=227715
+
+        Reviewed by Philippe Normand.
+
+        When an exception is raised from a worker if the workers are terminated
+        via a SIGKILL signal that later causes the task-queue to hang at close().
+        The issue is not reproducible with python3. So keep the same behaviour for
+        python3, and for python2 just use terminate() to stop the workers.
+
+        * Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
+        (TaskPool.__exit__):
+
 2021-07-08  Yijia Huang  <yijia_hu...@apple.com>
 
         Add Yijia Huang as a committer

Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py (279774 => 279775)


--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py	2021-07-09 07:14:30 UTC (rev 279774)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py	2021-07-09 08:10:19 UTC (rev 279775)
@@ -458,7 +458,8 @@
 
                 if sys.version_info >= (3, 7):
                     worker.kill()
-                elif hasattr(signal, 'SIGKILL'):
+                # With python2 killing directly the workers causes the queue to hang on close() <https://webkit.org/b/227715>
+                elif hasattr(signal, 'SIGKILL') and sys.version_info.major > 2:
                     try:
                         os.kill(worker.pid, signal.SIGKILL)
                     except OSError as e:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to