annotate Modules/_multiprocessing/win32_functions.c @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents 35ef949e85d7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
1 /*
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
2 * Win32 functions used by multiprocessing package
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
3 *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
4 * win32_functions.c
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
5 *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
6 * Copyright (c) 2006-2008, R Oudkerk --- see COPYING.txt
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
7 */
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
8
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
9 #include "multiprocessing.h"
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
10
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
11
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
12 #define WIN32_FUNCTION(func) \
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
13 {#func, (PyCFunction)win32_ ## func, METH_VARARGS | METH_STATIC, ""}
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
14
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
15 #define WIN32_CONSTANT(fmt, con) \
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
16 PyDict_SetItemString(Win32Type.tp_dict, #con, Py_BuildValue(fmt, con))
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
17
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
18
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
19 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
20 win32_CloseHandle(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
21 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
22 HANDLE hObject;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
23 BOOL success;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
24
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
25 if (!PyArg_ParseTuple(args, F_HANDLE, &hObject))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
26 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
27
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
28 Py_BEGIN_ALLOW_THREADS
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
29 success = CloseHandle(hObject);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
30 Py_END_ALLOW_THREADS
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
31
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
32 if (!success)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
33 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
34
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
35 Py_RETURN_NONE;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
36 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
37
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
38 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
39 win32_ConnectNamedPipe(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
40 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
41 HANDLE hNamedPipe;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
42 LPOVERLAPPED lpOverlapped;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
43 BOOL success;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
44
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
45 if (!PyArg_ParseTuple(args, F_HANDLE F_POINTER,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
46 &hNamedPipe, &lpOverlapped))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
47 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
48
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
49 Py_BEGIN_ALLOW_THREADS
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
50 success = ConnectNamedPipe(hNamedPipe, lpOverlapped);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
51 Py_END_ALLOW_THREADS
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
52
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
53 if (!success)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
54 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
55
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
56 Py_RETURN_NONE;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
57 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
58
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
59 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
60 win32_CreateFile(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
61 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
62 LPCTSTR lpFileName;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
63 DWORD dwDesiredAccess;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
64 DWORD dwShareMode;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
65 LPSECURITY_ATTRIBUTES lpSecurityAttributes;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
66 DWORD dwCreationDisposition;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
67 DWORD dwFlagsAndAttributes;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
68 HANDLE hTemplateFile;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
69 HANDLE handle;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
70
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
71 if (!PyArg_ParseTuple(args, "s" F_DWORD F_DWORD F_POINTER
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
72 F_DWORD F_DWORD F_HANDLE,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
73 &lpFileName, &dwDesiredAccess, &dwShareMode,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
74 &lpSecurityAttributes, &dwCreationDisposition,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
75 &dwFlagsAndAttributes, &hTemplateFile))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
76 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
77
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
78 Py_BEGIN_ALLOW_THREADS
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
79 handle = CreateFile(lpFileName, dwDesiredAccess,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
80 dwShareMode, lpSecurityAttributes,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
81 dwCreationDisposition,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
82 dwFlagsAndAttributes, hTemplateFile);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
83 Py_END_ALLOW_THREADS
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
84
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
85 if (handle == INVALID_HANDLE_VALUE)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
86 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
87
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
88 return Py_BuildValue(F_HANDLE, handle);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
89 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
90
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
91 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
92 win32_CreateNamedPipe(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
93 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
94 LPCTSTR lpName;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
95 DWORD dwOpenMode;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
96 DWORD dwPipeMode;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
97 DWORD nMaxInstances;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
98 DWORD nOutBufferSize;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
99 DWORD nInBufferSize;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
100 DWORD nDefaultTimeOut;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
101 LPSECURITY_ATTRIBUTES lpSecurityAttributes;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
102 HANDLE handle;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
103
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
104 if (!PyArg_ParseTuple(args, "s" F_DWORD F_DWORD F_DWORD
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
105 F_DWORD F_DWORD F_DWORD F_POINTER,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
106 &lpName, &dwOpenMode, &dwPipeMode,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
107 &nMaxInstances, &nOutBufferSize,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
108 &nInBufferSize, &nDefaultTimeOut,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
109 &lpSecurityAttributes))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
110 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
111
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
112 Py_BEGIN_ALLOW_THREADS
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
113 handle = CreateNamedPipe(lpName, dwOpenMode, dwPipeMode,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
114 nMaxInstances, nOutBufferSize,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
115 nInBufferSize, nDefaultTimeOut,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
116 lpSecurityAttributes);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
117 Py_END_ALLOW_THREADS
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
118
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
119 if (handle == INVALID_HANDLE_VALUE)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
120 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
121
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
122 return Py_BuildValue(F_HANDLE, handle);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
123 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
124
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
125 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
126 win32_ExitProcess(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
127 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
128 UINT uExitCode;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
129
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
130 if (!PyArg_ParseTuple(args, "I", &uExitCode))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
131 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
132
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
133 #if defined(Py_DEBUG)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
134 SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOALIGNMENTFAULTEXCEPT|SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
135 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
136 #endif
52605
e2818b9f964b Merged revisions 70908 via svnmerge from
Jesse Noller <jnoller@gmail.com>
parents: 47694
diff changeset
137
e2818b9f964b Merged revisions 70908 via svnmerge from
Jesse Noller <jnoller@gmail.com>
parents: 47694
diff changeset
138
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
139 ExitProcess(uExitCode);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
140
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
141 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
142 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
143
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
144 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
145 win32_GetLastError(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
146 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
147 return Py_BuildValue(F_DWORD, GetLastError());
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
148 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
149
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
150 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
151 win32_OpenProcess(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
152 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
153 DWORD dwDesiredAccess;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
154 BOOL bInheritHandle;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
155 DWORD dwProcessId;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
156 HANDLE handle;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
157
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
158 if (!PyArg_ParseTuple(args, F_DWORD "i" F_DWORD,
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
159 &dwDesiredAccess, &bInheritHandle, &dwProcessId))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
160 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
161
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
162 handle = OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
163 if (handle == NULL)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
164 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
165
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
166 return Py_BuildValue(F_HANDLE, handle);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
167 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
168
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
169 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
170 win32_SetNamedPipeHandleState(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
171 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
172 HANDLE hNamedPipe;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
173 PyObject *oArgs[3];
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
174 DWORD dwArgs[3], *pArgs[3] = {NULL, NULL, NULL};
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
175 int i;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
176
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
177 if (!PyArg_ParseTuple(args, F_HANDLE "OOO",
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
178 &hNamedPipe, &oArgs[0], &oArgs[1], &oArgs[2]))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
179 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
180
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
181 PyErr_Clear();
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
182
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
183 for (i = 0 ; i < 3 ; i++) {
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
184 if (oArgs[i] != Py_None) {
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
185 dwArgs[i] = PyInt_AsUnsignedLongMask(oArgs[i]);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
186 if (PyErr_Occurred())
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
187 return NULL;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
188 pArgs[i] = &dwArgs[i];
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
189 }
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
190 }
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
191
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
192 if (!SetNamedPipeHandleState(hNamedPipe, pArgs[0], pArgs[1], pArgs[2]))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
193 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
194
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
195 Py_RETURN_NONE;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
196 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
197
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
198 static PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
199 win32_WaitNamedPipe(PyObject *self, PyObject *args)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
200 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
201 LPCTSTR lpNamedPipeName;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
202 DWORD nTimeOut;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
203 BOOL success;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
204
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
205 if (!PyArg_ParseTuple(args, "s" F_DWORD, &lpNamedPipeName, &nTimeOut))
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
206 return NULL;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
207
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
208 Py_BEGIN_ALLOW_THREADS
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
209 success = WaitNamedPipe(lpNamedPipeName, nTimeOut);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
210 Py_END_ALLOW_THREADS
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
211
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
212 if (!success)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
213 return PyErr_SetFromWindowsErr(0);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
214
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
215 Py_RETURN_NONE;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
216 }
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
217
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
218 static PyMethodDef win32_methods[] = {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
219 WIN32_FUNCTION(CloseHandle),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
220 WIN32_FUNCTION(GetLastError),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
221 WIN32_FUNCTION(OpenProcess),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
222 WIN32_FUNCTION(ExitProcess),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
223 WIN32_FUNCTION(ConnectNamedPipe),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
224 WIN32_FUNCTION(CreateFile),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
225 WIN32_FUNCTION(CreateNamedPipe),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
226 WIN32_FUNCTION(SetNamedPipeHandleState),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
227 WIN32_FUNCTION(WaitNamedPipe),
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
228 {NULL}
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
229 };
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
230
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
231
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
232 PyTypeObject Win32Type = {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
233 PyVarObject_HEAD_INIT(NULL, 0)
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
234 };
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
235
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
236
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
237 PyObject *
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
238 create_win32_namespace(void)
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
239 {
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
240 Win32Type.tp_name = "_multiprocessing.win32";
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
241 Win32Type.tp_methods = win32_methods;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
242 if (PyType_Ready(&Win32Type) < 0)
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
243 return NULL;
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
244 Py_INCREF(&Win32Type);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
245
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
246 WIN32_CONSTANT(F_DWORD, ERROR_ALREADY_EXISTS);
76772
35ef949e85d7 Fix for issue 14725 for 2.7 branch
Richard Oudkerk <shibturn@gmail.com>
parents: 68256
diff changeset
247 WIN32_CONSTANT(F_DWORD, ERROR_NO_DATA);
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
248 WIN32_CONSTANT(F_DWORD, ERROR_PIPE_BUSY);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
249 WIN32_CONSTANT(F_DWORD, ERROR_PIPE_CONNECTED);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
250 WIN32_CONSTANT(F_DWORD, ERROR_SEM_TIMEOUT);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
251 WIN32_CONSTANT(F_DWORD, GENERIC_READ);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
252 WIN32_CONSTANT(F_DWORD, GENERIC_WRITE);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
253 WIN32_CONSTANT(F_DWORD, INFINITE);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
254 WIN32_CONSTANT(F_DWORD, NMPWAIT_WAIT_FOREVER);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
255 WIN32_CONSTANT(F_DWORD, OPEN_EXISTING);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
256 WIN32_CONSTANT(F_DWORD, PIPE_ACCESS_DUPLEX);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
257 WIN32_CONSTANT(F_DWORD, PIPE_ACCESS_INBOUND);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
258 WIN32_CONSTANT(F_DWORD, PIPE_READMODE_MESSAGE);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
259 WIN32_CONSTANT(F_DWORD, PIPE_TYPE_MESSAGE);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
260 WIN32_CONSTANT(F_DWORD, PIPE_UNLIMITED_INSTANCES);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
261 WIN32_CONSTANT(F_DWORD, PIPE_WAIT);
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
262 WIN32_CONSTANT(F_DWORD, PROCESS_ALL_ACCESS);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
263
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
264 WIN32_CONSTANT("i", NULL);
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
265
61465
e38335d4df91 Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 52605
diff changeset
266 return (PyObject*)&Win32Type;
47694
af8873df0322 convert multiprocessing to unix line endings
Benjamin Peterson <benjamin@python.org>
parents: 47595
diff changeset
267 }