Skip to content

Commit c8568d0

Browse files
committed
Disable pidfd API on older Android versions
1 parent b4d0d7d commit c8568d0

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
:func:`os.pidfd_open` and :func:`signal.pidfd_send_signal` are now
2+
unavailable when building against Android API levels older than 31, since
3+
the underlying system calls may cause a crash.

‎Modules/clinic/posixmodule.c.h‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Modules/clinic/signalmodule.c.h‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Modules/posixmodule.c‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10121,7 +10121,10 @@ os_wait_impl(PyObject *module)
1012110121
}
1012210122
#endif /* HAVE_WAIT */
1012310123

10124-
#if defined(__linux__) && defined(__NR_pidfd_open)
10124+
10125+
// This system call always crashes on older Android versions.
10126+
#if defined(__linux__) && defined(__NR_pidfd_open) && \
10127+
!(defined(__ANDROID__) && __ANDROID_API__ < 31)
1012510128
/*[clinic input]
1012610129
os.pidfd_open
1012710130
pid: pid_t

‎Modules/signalmodule.c‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1299,7 +1299,9 @@ signal_pthread_kill_impl(PyObject *module, unsigned long thread_id,
12991299
#endif /* #if defined(HAVE_PTHREAD_KILL) */
13001300

13011301

1302-
#if defined(__linux__) && defined(__NR_pidfd_send_signal)
1302+
// This system call always crashes on older Android versions.
1303+
#if defined(__linux__) && defined(__NR_pidfd_send_signal) && \
1304+
!(defined(__ANDROID__) && __ANDROID_API__ < 31)
13031305
/*[clinic input]
13041306
signal.pidfd_send_signal
13051307

0 commit comments

Comments
 (0)