當前位置: 首頁>>代碼示例>>Python>>正文


Python _winapi.WaitForSingleObject方法代碼示例

本文整理匯總了Python中_winapi.WaitForSingleObject方法的典型用法代碼示例。如果您正苦於以下問題:Python _winapi.WaitForSingleObject方法的具體用法?Python _winapi.WaitForSingleObject怎麽用?Python _winapi.WaitForSingleObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在_winapi的用法示例。


在下文中一共展示了_winapi.WaitForSingleObject方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: wait

# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import WaitForSingleObject [as 別名]
def wait(self, timeout=None, endtime=None):
            """Wait for child process to terminate.  Returns returncode
            attribute."""
            if endtime is not None:
                timeout = self._remaining_time(endtime)
            if timeout is None:
                timeout_millis = _winapi.INFINITE
            else:
                timeout_millis = int(timeout * 1000)
            if self.returncode is None:
                result = _winapi.WaitForSingleObject(self._handle,
                                                    timeout_millis)
                if result == _winapi.WAIT_TIMEOUT:
                    raise TimeoutExpired(self.args, timeout)
                self.returncode = _winapi.GetExitCodeProcess(self._handle)
            return self.returncode 
開發者ID:war-and-code,項目名稱:jawfish,代碼行數:18,代碼來源:subprocess.py

示例2: _internal_poll

# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import WaitForSingleObject [as 別名]
def _internal_poll(self, _deadstate=None,
                _WaitForSingleObject=_winapi.WaitForSingleObject,
                _WAIT_OBJECT_0=_winapi.WAIT_OBJECT_0,
                _GetExitCodeProcess=_winapi.GetExitCodeProcess):
            """Check if child process has terminated.  Returns returncode
            attribute.

            This method is called by __del__, so it can only refer to objects
            in its local scope.

            """
            if self.returncode is None:
                if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
                    self.returncode = _GetExitCodeProcess(self._handle)
            return self.returncode 
開發者ID:war-and-code,項目名稱:jawfish,代碼行數:17,代碼來源:subprocess.py

示例3: _poll

# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import WaitForSingleObject [as 別名]
def _poll(self):
        # non-blocking wait: use a timeout of 0 millisecond
        return (_winapi.WaitForSingleObject(self._handle, 0) ==
                _winapi.WAIT_OBJECT_0) 
開發者ID:Microvellum,項目名稱:Fluid-Designer,代碼行數:6,代碼來源:windows_events.py

示例4: wait

# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import WaitForSingleObject [as 別名]
def wait(self, timeout=None):
        if self.returncode is None:
            if timeout is None:
                msecs = _winapi.INFINITE
            else:
                msecs = max(0, int(timeout * 1000 + 0.5))

            res = _winapi.WaitForSingleObject(int(self._handle), msecs)
            if res == _winapi.WAIT_OBJECT_0:
                code = _winapi.GetExitCodeProcess(self._handle)
                if code == TERMINATE:
                    code = -signal.SIGTERM
                self.returncode = code

        return self.returncode 
開發者ID:Microvellum,項目名稱:Fluid-Designer,代碼行數:17,代碼來源:popen_spawn_win32.py

示例5: _wait

# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import WaitForSingleObject [as 別名]
def _wait(self, timeout):
            """Internal implementation of wait() on Windows."""
            if timeout is None:
                timeout_millis = _winapi.INFINITE
            else:
                timeout_millis = int(timeout * 1000)
            if self.returncode is None:
                # API note: Returns immediately if timeout_millis == 0.
                result = _winapi.WaitForSingleObject(self._handle,
                                                     timeout_millis)
                if result == _winapi.WAIT_TIMEOUT:
                    raise TimeoutExpired(self.args, timeout)
                self.returncode = _winapi.GetExitCodeProcess(self._handle)
            return self.returncode 
開發者ID:CedricGuillemet,項目名稱:Imogen,代碼行數:16,代碼來源:subprocess.py

示例6: _pid_alive

# 需要導入模塊: import _winapi [as 別名]
# 或者: from _winapi import WaitForSingleObject [as 別名]
def _pid_alive(pid):
    """Check if the process with this PID is alive or not.

    Args:
        pid: The pid to check.

    Returns:
        This returns false if the process is dead. Otherwise, it returns true.
    """
    no_such_process = errno.EINVAL if sys.platform == "win32" else errno.ESRCH
    alive = True
    try:
        if sys.platform == "win32":
            SYNCHRONIZE = 0x00100000  # access mask defined in <winnt.h>
            handle = _winapi.OpenProcess(SYNCHRONIZE, False, pid)
            try:
                alive = (_winapi.WaitForSingleObject(handle, 0) !=
                         _winapi.WAIT_OBJECT_0)
            finally:
                _winapi.CloseHandle(handle)
        else:
            os.kill(pid, 0)
    except OSError as ex:
        if ex.errno != no_such_process:
            raise
        alive = False
    return alive 
開發者ID:ray-project,項目名稱:ray,代碼行數:29,代碼來源:test_utils.py


注:本文中的_winapi.WaitForSingleObject方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。