summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/_threadmodule.c3
-rwxr-xr-xconfigure1
-rw-r--r--configure.ac1
3 files changed, 5 insertions, 0 deletions
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index 75b34a8..2cbdfeb 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 a697bc1..299eff6 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 ebc1550..badb19d 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;;