Add os.splice and flags on Linux for Python 3.10+ (#10771)

This commit is contained in:
Amin Alaee
2023-09-25 17:20:37 +02:00
committed by GitHub
parent a0b2583bb1
commit 9e79a100b3
5 changed files with 15 additions and 12 deletions

View File

@@ -1062,9 +1062,20 @@ if sys.version_info >= (3, 10) and sys.platform == "linux":
EFD_CLOEXEC: int
EFD_NONBLOCK: int
EFD_SEMAPHORE: int
SPLICE_F_MORE: int
SPLICE_F_MOVE: int
SPLICE_F_NONBLOCK: int
def eventfd(initval: int, flags: int = 524288) -> FileDescriptor: ...
def eventfd_read(fd: FileDescriptor) -> int: ...
def eventfd_write(fd: FileDescriptor, value: int) -> None: ...
def splice(
src: FileDescriptor,
dst: FileDescriptor,
count: int,
offset_src: int | None = ...,
offset_dst: int | None = ...,
flags: int = 0,
) -> int: ...
if sys.version_info >= (3, 12) and sys.platform == "linux":
CLONE_FILES: int

View File

@@ -242,9 +242,13 @@ if sys.platform != "win32":
EFD_CLOEXEC as EFD_CLOEXEC,
EFD_NONBLOCK as EFD_NONBLOCK,
EFD_SEMAPHORE as EFD_SEMAPHORE,
SPLICE_F_MORE as SPLICE_F_MORE,
SPLICE_F_MOVE as SPLICE_F_MOVE,
SPLICE_F_NONBLOCK as SPLICE_F_NONBLOCK,
eventfd as eventfd,
eventfd_read as eventfd_read,
eventfd_write as eventfd_write,
splice as splice,
)
else:
from os import chflags as chflags, lchflags as lchflags, lchmod as lchmod

View File

@@ -1,11 +1,7 @@
_?curses.color_pair
(os|posix).SPLICE_F_MORE
(os|posix).SPLICE_F_MOVE
(os|posix).SPLICE_F_NONBLOCK
(os|posix).setresgid
(os|posix).setresuid
(os|posix).sendfile
(os|posix).splice
signal.sigtimedwait
signal.sigwaitinfo

View File

@@ -1,12 +1,8 @@
_?curses.color_pair
mmap.MAP_STACK
(os|posix).SPLICE_F_MORE
(os|posix).SPLICE_F_MOVE
(os|posix).SPLICE_F_NONBLOCK
(os|posix).setresgid
(os|posix).setresuid
(os|posix).sendfile
(os|posix).splice
signal.sigtimedwait
signal.sigwaitinfo
xxlimited.Xxo.x_exports

View File

@@ -4,10 +4,6 @@ _posixsubprocess.fork_exec
(os|posix).setns
(os|posix).setresgid
(os|posix).setresuid
(os|posix).splice
(os|posix).SPLICE_F_MORE
(os|posix).SPLICE_F_MOVE
(os|posix).SPLICE_F_NONBLOCK
fcntl.FICLONE
fcntl.FICLONERANGE
mmap.MAP_STACK