Skip to content

Commit

Permalink
bpo-34563: Fix for invalid assert on big output of multiprocessing.Pr…
Browse files Browse the repository at this point in the history
…ocess (pythonGH-9027)

Fix for invalid assert on big output of multiprocessing.Process.
  • Loading branch information
ahcub authored and vstinner committed Sep 4, 2018
1 parent 7917aad commit 266f490
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
On Windows, fix multiprocessing.Connection for very large read: fix _winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger than INT_MAX (usually 2^31-1).
10 changes: 5 additions & 5 deletions Modules/_winapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1338,7 +1338,7 @@ _winapi_PeekNamedPipe_impl(PyObject *module, HANDLE handle, int size)
}
if (_PyBytes_Resize(&buf, nread))
return NULL;
return Py_BuildValue("Nii", buf, navail, nleft);
return Py_BuildValue("NII", buf, navail, nleft);
}
else {
Py_BEGIN_ALLOW_THREADS
Expand All @@ -1347,22 +1347,22 @@ _winapi_PeekNamedPipe_impl(PyObject *module, HANDLE handle, int size)
if (!ret) {
return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
}
return Py_BuildValue("ii", navail, nleft);
return Py_BuildValue("II", navail, nleft);
}
}

/*[clinic input]
_winapi.ReadFile
handle: HANDLE
size: int
size: DWORD
overlapped as use_overlapped: bool(accept={int}) = False
[clinic start generated code]*/

static PyObject *
_winapi_ReadFile_impl(PyObject *module, HANDLE handle, int size,
_winapi_ReadFile_impl(PyObject *module, HANDLE handle, DWORD size,
int use_overlapped)
/*[clinic end generated code: output=492029ca98161d84 input=3f0fde92f74de59a]*/
/*[clinic end generated code: output=d3d5b44a8201b944 input=08c439d03a11aac5]*/
{
DWORD nread;
PyObject *buf;
Expand Down
8 changes: 4 additions & 4 deletions Modules/clinic/_winapi.c.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 266f490

Please sign in to comment.