aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py
diff options
context:
space:
mode:
authormonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
committermonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
downloadydb-06e5c21a835c0e923506c4ff27929f34e00761c2.tar.gz
fix ya.make
Diffstat (limited to 'contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py')
-rw-r--r--contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py73
1 files changed, 0 insertions, 73 deletions
diff --git a/contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py b/contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py
deleted file mode 100644
index fbc02d493ab..00000000000
--- a/contrib/python/prompt-toolkit/py3/prompt_toolkit/eventloop/win32.py
+++ /dev/null
@@ -1,73 +0,0 @@
-import sys
-
-assert sys.platform == "win32"
-
-from ctypes import pointer
-
-from ..utils import SPHINX_AUTODOC_RUNNING
-
-# Do not import win32-specific stuff when generating documentation.
-# Otherwise RTD would be unable to generate docs for this module.
-if not SPHINX_AUTODOC_RUNNING:
- from ctypes import windll
-
-from ctypes.wintypes import BOOL, DWORD, HANDLE
-from typing import List, Optional
-
-from prompt_toolkit.win32_types import SECURITY_ATTRIBUTES
-
-__all__ = ["wait_for_handles", "create_win32_event"]
-
-
-WAIT_TIMEOUT = 0x00000102
-INFINITE = -1
-
-
-def wait_for_handles(
- handles: List[HANDLE], timeout: int = INFINITE
-) -> Optional[HANDLE]:
- """
- Waits for multiple handles. (Similar to 'select') Returns the handle which is ready.
- Returns `None` on timeout.
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms687025(v=vs.85).aspx
-
- Note that handles should be a list of `HANDLE` objects, not integers. See
- this comment in the patch by @quark-zju for the reason why:
-
- ''' Make sure HANDLE on Windows has a correct size
-
- Previously, the type of various HANDLEs are native Python integer
- types. The ctypes library will treat them as 4-byte integer when used
- in function arguments. On 64-bit Windows, HANDLE is 8-byte and usually
- a small integer. Depending on whether the extra 4 bytes are zero-ed out
- or not, things can happen to work, or break. '''
-
- This function returns either `None` or one of the given `HANDLE` objects.
- (The return value can be tested with the `is` operator.)
- """
- arrtype = HANDLE * len(handles)
- handle_array = arrtype(*handles)
-
- ret: int = windll.kernel32.WaitForMultipleObjects(
- len(handle_array), handle_array, BOOL(False), DWORD(timeout)
- )
-
- if ret == WAIT_TIMEOUT:
- return None
- else:
- return handles[ret]
-
-
-def create_win32_event() -> HANDLE:
- """
- Creates a Win32 unnamed Event .
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms682396(v=vs.85).aspx
- """
- return HANDLE(
- windll.kernel32.CreateEventA(
- pointer(SECURITY_ATTRIBUTES()),
- BOOL(True), # Manual reset event.
- BOOL(False), # Initial state.
- None, # Unnamed event object.
- )
- )