summaryrefslogtreecommitdiffstats
path: root/Modules/overlapped.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-01-21 22:40:19 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-01-21 22:40:19 (GMT)
commit91d11bbb2d5742b291e48e9889bd9c51b0b39fb6 (patch)
tree678a3dcfd28c30b19580e60fa4f1e2bad9f052bf /Modules/overlapped.c
parentafb507c0024686237fd384ea06f934c9ac80741b (diff)
parentd0a28dee78d099fcadc71147cba4affb6efa0c97 (diff)
downloadcpython-91d11bbb2d5742b291e48e9889bd9c51b0b39fb6.zip
cpython-91d11bbb2d5742b291e48e9889bd9c51b0b39fb6.tar.gz
cpython-91d11bbb2d5742b291e48e9889bd9c51b0b39fb6.tar.bz2
Merge 3.4 (asyncio)
Diffstat (limited to 'Modules/overlapped.c')
-rw-r--r--Modules/overlapped.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/Modules/overlapped.c b/Modules/overlapped.c
index 6842efb..d22c626 100644
--- a/Modules/overlapped.c
+++ b/Modules/overlapped.c
@@ -309,6 +309,29 @@ overlapped_UnregisterWait(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
+PyDoc_STRVAR(
+ UnregisterWaitEx_doc,
+ "UnregisterWaitEx(WaitHandle, Event) -> None\n\n"
+ "Unregister wait handle.\n");
+
+static PyObject *
+overlapped_UnregisterWaitEx(PyObject *self, PyObject *args)
+{
+ HANDLE WaitHandle, Event;
+ BOOL ret;
+
+ if (!PyArg_ParseTuple(args, F_HANDLE F_HANDLE, &WaitHandle, &Event))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = UnregisterWaitEx(WaitHandle, Event);
+ Py_END_ALLOW_THREADS
+
+ if (!ret)
+ return SetFromWindowsErr(0);
+ Py_RETURN_NONE;
+}
+
/*
* Event functions -- currently only used by tests
*/
@@ -1319,6 +1342,8 @@ static PyMethodDef overlapped_functions[] = {
METH_VARARGS, RegisterWaitWithQueue_doc},
{"UnregisterWait", overlapped_UnregisterWait,
METH_VARARGS, UnregisterWait_doc},
+ {"UnregisterWaitEx", overlapped_UnregisterWaitEx,
+ METH_VARARGS, UnregisterWaitEx_doc},
{"CreateEvent", overlapped_CreateEvent,
METH_VARARGS, CreateEvent_doc},
{"SetEvent", overlapped_SetEvent,