Skip to content

Commit 99ba2b0

Browse files
committed
Check in fileio.c also
1 parent 7e1ca5d commit 99ba2b0

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

Modules/_io/fileio.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,13 @@ portable_lseek(fileio *self, PyObject *posobj, int whence, bool suppress_pipe_er
989989
Py_BEGIN_ALLOW_THREADS
990990
_Py_BEGIN_SUPPRESS_IPH
991991
#ifdef MS_WINDOWS
992-
res = _lseeki64(fd, pos, whence);
992+
HANDLE h = (HANDLE)_get_osfhandle(fd);
993+
if (h != INVALID_HANDLE_VALUE && GetFileType(h) == FILE_TYPE_PIPE) {
994+
res = -1;
995+
errno = ESPIPE;
996+
} else {
997+
res = _lseeki64(fd, pos, whence);
998+
}
993999
#else
9941000
res = lseek(fd, pos, whence);
9951001
#endif

0 commit comments

Comments
 (0)