]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-128279: Enhance the NetBSD compatibility for thread naming (#128280)
authorFurkan Onder <furkanonder@protonmail.com>
Sat, 28 Dec 2024 18:49:45 +0000 (21:49 +0300)
committerGitHub <noreply@github.com>
Sat, 28 Dec 2024 18:49:45 +0000 (19:49 +0100)
Enhance NetBSD compatibility for thread naming in _threadmodule.c.

Modules/_threadmodule.c
configure
configure.ac

index 75b34a8df7622c81a8850ca4d2046bc79bc11dd4..2cbdfeb09b95ae1c3543b49d673308f06117bfd1 100644 (file)
@@ -2438,6 +2438,9 @@ _thread_set_name_impl(PyObject *module, PyObject *name_obj)
     const char *name = PyBytes_AS_STRING(name_encoded);
 #ifdef __APPLE__
     int rc = pthread_setname_np(name);
+#elif defined(__NetBSD__)
+    pthread_t thread = pthread_self();
+    int rc = pthread_setname_np(thread, "%s", (void *)name);
 #else
     pthread_t thread = pthread_self();
     int rc = pthread_setname_np(thread, name);
index a697bc1f87b01252295801eac2518096606ebabe..299eff6bc3bf70b0a2889c2e8cfaa3fda4f0be71 100755 (executable)
--- a/configure
+++ b/configure
@@ -29148,6 +29148,7 @@ CPPFLAGS=$save_CPPFLAGS
 case "$ac_sys_system" in
   Linux*) PYTHREAD_NAME_MAXLEN=15;;  # Linux and Android
   SunOS*) PYTHREAD_NAME_MAXLEN=31;;
+  NetBSD*) PYTHREAD_NAME_MAXLEN=31;;
   Darwin) PYTHREAD_NAME_MAXLEN=63;;
   iOS) PYTHREAD_NAME_MAXLEN=63;;
   FreeBSD*) PYTHREAD_NAME_MAXLEN=98;;
index ebc15503f069cc5670c115a4fa2a171977bf33a4..badb19d55895de93f0cfe578677ec0df57050cb4 100644 (file)
@@ -7514,6 +7514,7 @@ _RESTORE_VAR([CPPFLAGS])
 case "$ac_sys_system" in
   Linux*) PYTHREAD_NAME_MAXLEN=15;;  # Linux and Android
   SunOS*) PYTHREAD_NAME_MAXLEN=31;;
+  NetBSD*) PYTHREAD_NAME_MAXLEN=31;;
   Darwin) PYTHREAD_NAME_MAXLEN=63;;
   iOS) PYTHREAD_NAME_MAXLEN=63;;
   FreeBSD*) PYTHREAD_NAME_MAXLEN=98;;