From 03a11a56265d4fbff1a2f806dbc05cda6276c243 Mon Sep 17 00:00:00 2001 From: Furkan Onder Date: Fri, 27 Dec 2024 03:30:10 +0300 Subject: [PATCH] Enhance NetBSD compatibility for thread naming in _threadmodule.c --- Modules/_threadmodule.c | 3 +++ configure | 1 + configure.ac | 1 + 3 files changed, 5 insertions(+) diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index 75b34a8df7622c..2cbdfeb09b95ae 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -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); diff --git a/configure b/configure index a697bc1f87b012..299eff6bc3bf70 100755 --- 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;; diff --git a/configure.ac b/configure.ac index ebc15503f069cc..badb19d55895de 100644 --- a/configure.ac +++ b/configure.ac @@ -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;;