Changeset 58473 in webkit


Ignore:
Timestamp:
Apr 28, 2010 9:20:36 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-04-28 Eric Seidel <eric@webkit.org>

Reviewed by David Levin.

Document that subprocess.poll/wait are not threadsafe
https://bugs.webkit.org/show_bug.cgi?id=38289

  • Scripts/webkitpy/common/system/executive.py:
  • Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/http_server.py:
  • Scripts/webkitpy/layout_tests/port/server_process.py:
  • Scripts/webkitpy/layout_tests/port/websocket_server.py:
Location:
trunk/WebKitTools
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r58464 r58473  
     12010-04-28  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by David Levin.
     4
     5        Document that subprocess.poll/wait are not threadsafe
     6        https://bugs.webkit.org/show_bug.cgi?id=38289
     7
     8        * Scripts/webkitpy/common/system/executive.py:
     9        * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
     10        * Scripts/webkitpy/layout_tests/port/chromium.py:
     11        * Scripts/webkitpy/layout_tests/port/http_server.py:
     12        * Scripts/webkitpy/layout_tests/port/server_process.py:
     13        * Scripts/webkitpy/layout_tests/port/websocket_server.py:
     14
    1152010-04-28  Chris Jerdonek  <cjerdonek@webkit.org>
    216
  • trunk/WebKitTools/Scripts/webkitpy/common/system/executive.py

    r58397 r58473  
    109109            output_line = child_process.stdout.readline()
    110110            if output_line == "" and child_process.poll() != None:
     111                # poll() is not threadsafe and can throw OSError due to:
     112                # http://bugs.python.org/issue1731717
    111113                return child_process.poll()
    112114            # We assume that the child process wrote to us in utf-8,
     
    250252        if decode_output:
    251253            output = output.decode("utf-8")
     254        # wait() is not threadsafe and can throw OSError due to:
     255        # http://bugs.python.org/issue1731717
    252256        exit_code = process.wait()
    253257
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py

    r58279 r58473  
    448448
    449449        """
     450        # poll() is not threadsafe and can throw OSError due to:
     451        # http://bugs.python.org/issue1731717
    450452        if (not self._driver or self._driver.poll() is not None):
    451453            self._driver = self._port.create_driver(self._image_path, self._shell_args)
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py

    r58364 r58473  
    202202            self._helper.stdin.write("x\n")
    203203            self._helper.stdin.close()
     204            # wait() is not threadsafe and can throw OSError due to:
     205            # http://bugs.python.org/issue1731717
    204206            self._helper.wait()
    205207
     
    307309
    308310    def poll(self):
     311        # poll() is not threadsafe and can throw OSError due to:
     312        # http://bugs.python.org/issue1731717
    309313        return self._proc.poll()
    310314
     
    401405                KILL_TIMEOUT = 3.0
    402406                timeout = time.time() + KILL_TIMEOUT
     407                # poll() is not threadsafe and can throw OSError due to:
     408                # http://bugs.python.org/issue1731717
    403409                while self._proc.poll() is None and time.time() < timeout:
    404410                    time.sleep(0.1)
     411                # poll() is not threadsafe and can throw OSError due to:
     412                # http://bugs.python.org/issue1731717
    405413                if self._proc.poll() is None:
    406414                    _log.warning('stopping test driver timed out, '
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/http_server.py

    r58314 r58473  
    242242
    243243        if self._process:
     244            # wait() is not threadsafe and can throw OSError due to:
     245            # http://bugs.python.org/issue1731717
    244246            self._process.wait()
    245247            self._process = None
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/server_process.py

    r58314 r58473  
    105105        if it still is (wrapper around subprocess.poll)."""
    106106        if self._proc:
     107            # poll() is not threadsafe and can throw OSError due to:
     108            # http://bugs.python.org/issue1731717
    107109            return self._proc.poll()
    108110        return None
     
    169171        deadline = time.time() + timeout
    170172        while not self.timed_out and not self.crashed:
     173            # poll() is not threadsafe and can throw OSError due to:
     174            # http://bugs.python.org/issue1731717
    171175            if self._proc.poll() != None:
    172176                self.crashed = True
     
    215219            KILL_TIMEOUT = 3.0
    216220            timeout = time.time() + KILL_TIMEOUT
     221            # poll() is not threadsafe and can throw OSError due to:
     222            # http://bugs.python.org/issue1731717
    217223            while self._proc.poll() is None and time.time() < timeout:
    218224                time.sleep(0.1)
     225            # poll() is not threadsafe and can throw OSError due to:
     226            # http://bugs.python.org/issue1731717
    219227            if self._proc.poll() is None:
    220228                _log.warning('stopping %s timed out, killing it' %
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/websocket_server.py

    r58314 r58473  
    259259
    260260        if self._process:
     261            # wait() is not threadsafe and can throw OSError due to:
     262            # http://bugs.python.org/issue1731717
    261263            self._process.wait()
    262264            self._process = None
Note: See TracChangeset for help on using the changeset viewer.