From 050ec19526413e22fe485e5a0a6911c9d33fb377 Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Mon, 24 Nov 2025 11:39:19 -0500 Subject: [PATCH] [stdlib] add `multiprocessing.synchronize.SemLock.locked` (#15065) --- stdlib/@tests/stubtest_allowlists/py314.txt | 1 - stdlib/multiprocessing/synchronize.pyi | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/stdlib/@tests/stubtest_allowlists/py314.txt b/stdlib/@tests/stubtest_allowlists/py314.txt index 8dbc81dff..bd002b55a 100644 --- a/stdlib/@tests/stubtest_allowlists/py314.txt +++ b/stdlib/@tests/stubtest_allowlists/py314.txt @@ -12,7 +12,6 @@ multiprocessing.managers._BaseDictProxy.__reversed__ multiprocessing.managers._BaseDictProxy.__ror__ multiprocessing.managers._BaseDictProxy.fromkeys multiprocessing.process.BaseProcess.interrupt -multiprocessing.synchronize.SemLock.locked # ========================= diff --git a/stdlib/multiprocessing/synchronize.pyi b/stdlib/multiprocessing/synchronize.pyi index a0d97baa0..541e0b05d 100644 --- a/stdlib/multiprocessing/synchronize.pyi +++ b/stdlib/multiprocessing/synchronize.pyi @@ -1,3 +1,4 @@ +import sys import threading from collections.abc import Callable from multiprocessing.context import BaseContext @@ -45,6 +46,8 @@ class SemLock: # These methods are copied from the wrapped _multiprocessing.SemLock object def acquire(self, block: bool = True, timeout: float | None = None) -> bool: ... def release(self) -> None: ... + if sys.version_info >= (3, 14): + def locked(self) -> bool: ... class Lock(SemLock): def __init__(self, *, ctx: BaseContext) -> None: ...