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