Skip to content

Commit 8f34bd2

Browse files
committed
FIXUP
1 parent 856bf92 commit 8f34bd2

File tree

1 file changed

+7
-30
lines changed

1 file changed

+7
-30
lines changed

pynvim/msgpack_rpc/event_loop/asyncio.py

Lines changed: 7 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -188,42 +188,19 @@ async def connect_stdout():
188188

189189
@override
190190
def _connect_child(self, argv: List[str]) -> None:
191-
def can_use_pidfd():
192-
# Unix system without pidfd_open?
193-
if not hasattr(os, 'pidfd_open'):
194-
return False
195-
196-
# Check that we are not blocked by security policy like SECCOMP
197-
try:
198-
pid = os.getpid()
199-
fd = os.pidfd_open(pid, 0)
200-
os.close(fd)
201-
except OSError:
202-
return False
203-
204-
return True
205-
206191
def get_child_watcher():
207-
if can_use_pidfd():
208-
try:
209-
from asyncio import PidfdChildWatcher
210-
return PidfdChildWatcher()
211-
except ImportError:
212-
pass
213-
214192
try:
215-
from asyncio import ThreadedChildWatcher
216-
return ThreadedChildWatcher()
217-
except ImportError:
218-
pass
193+
return asyncio.get_child_watcher()
194+
except AttributeError: # Python 3.14
195+
return None
219196

220-
# FIXME Python 3.7, return None if we drop support
221-
return asyncio.get_child_watcher()
197+
return None
222198

223199
if os.name != 'nt':
224200
watcher = get_child_watcher()
225-
watcher.attach_loop(self._loop)
226-
self._child_watcher = watcher
201+
if watcher is not None:
202+
watcher.attach_loop(self._loop)
203+
self._child_watcher = watcher
227204

228205
async def create_subprocess():
229206
transport: asyncio.SubprocessTransport # type: ignore

0 commit comments

Comments
 (0)