https://github.com/python/cpython/commit/81159fce3643d2b5b265c441f3079166203e873e
commit: 81159fce3643d2b5b265c441f3079166203e873e
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2025-01-18T15:10:29Z
summary:

gh-59705: Make PYTHREAD_NAME_MAXLEN macro private (#128945)

Rename PYTHREAD_NAME_MAXLEN to _PYTHREAD_NAME_MAXLEN.

files:
M Modules/_threadmodule.c
M PC/pyconfig.h.in
M configure
M configure.ac
M pyconfig.h.in

diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index 586ed368024fb1..dbc574f7816b85 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -2450,12 +2450,12 @@ _thread_set_name_impl(PyObject *module, PyObject 
*name_obj)
         return NULL;
     }
 
-#ifdef PYTHREAD_NAME_MAXLEN
-    // Truncate to PYTHREAD_NAME_MAXLEN bytes + the NUL byte if needed
-    if (PyBytes_GET_SIZE(name_encoded) > PYTHREAD_NAME_MAXLEN) {
+#ifdef _PYTHREAD_NAME_MAXLEN
+    // Truncate to _PYTHREAD_NAME_MAXLEN bytes + the NUL byte if needed
+    if (PyBytes_GET_SIZE(name_encoded) > _PYTHREAD_NAME_MAXLEN) {
         PyObject *truncated;
         truncated = PyBytes_FromStringAndSize(PyBytes_AS_STRING(name_encoded),
-                                              PYTHREAD_NAME_MAXLEN);
+                                              _PYTHREAD_NAME_MAXLEN);
         if (truncated == NULL) {
             Py_DECREF(name_encoded);
             return NULL;
@@ -2490,14 +2490,14 @@ _thread_set_name_impl(PyObject *module, PyObject 
*name_obj)
         return NULL;
     }
 
-    if (len > PYTHREAD_NAME_MAXLEN) {
+    if (len > _PYTHREAD_NAME_MAXLEN) {
         // Truncate the name
-        Py_UCS4 ch = name[PYTHREAD_NAME_MAXLEN-1];
+        Py_UCS4 ch = name[_PYTHREAD_NAME_MAXLEN-1];
         if (Py_UNICODE_IS_HIGH_SURROGATE(ch)) {
-            name[PYTHREAD_NAME_MAXLEN-1] = 0;
+            name[_PYTHREAD_NAME_MAXLEN-1] = 0;
         }
         else {
-            name[PYTHREAD_NAME_MAXLEN] = 0;
+            name[_PYTHREAD_NAME_MAXLEN] = 0;
         }
     }
 
@@ -2645,9 +2645,9 @@ thread_module_exec(PyObject *module)
 
     llist_init(&state->shutdown_handles);
 
-#ifdef PYTHREAD_NAME_MAXLEN
+#ifdef _PYTHREAD_NAME_MAXLEN
     if (PyModule_AddIntConstant(module, "_NAME_MAXLEN",
-                                PYTHREAD_NAME_MAXLEN) < 0) {
+                                _PYTHREAD_NAME_MAXLEN) < 0) {
         return -1;
     }
 #endif
diff --git a/PC/pyconfig.h.in b/PC/pyconfig.h.in
index 837461d0e884bc..f4f57c5d270028 100644
--- a/PC/pyconfig.h.in
+++ b/PC/pyconfig.h.in
@@ -753,8 +753,7 @@ Py_NO_ENABLE_SHARED to find out.  Also support 
MS_NO_COREDLL for b/w compat */
 /* Define if libssl has X509_VERIFY_PARAM_set1_host and related function */
 #define HAVE_X509_VERIFY_PARAM_SET1_HOST 1
 
-// Truncate the thread name to 64 characters. The OS limit is 32766 wide
-// characters, but long names aren't of practical use.
-#define PYTHREAD_NAME_MAXLEN 32766
+// Truncate the thread name to 32766 characters.
+#define _PYTHREAD_NAME_MAXLEN 32766
 
 #endif /* !Py_CONFIG_H */
diff --git a/configure b/configure
index 70581e11b60682..ae1b649630171f 100755
--- a/configure
+++ b/configure
@@ -814,7 +814,7 @@ MODULE_TIME_TRUE
 MODULE__IO_FALSE
 MODULE__IO_TRUE
 MODULE_BUILDTYPE
-PYTHREAD_NAME_MAXLEN
+_PYTHREAD_NAME_MAXLEN
 TEST_MODULES
 OPENSSL_LDFLAGS
 OPENSSL_LIBS
@@ -30403,17 +30403,17 @@ CPPFLAGS=$save_CPPFLAGS
 
 # gh-59705: Maximum length in bytes of a thread name
 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;;
-  *) PYTHREAD_NAME_MAXLEN=;;
+  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;;
+  *) _PYTHREAD_NAME_MAXLEN=;;
 esac
-if test -n "$PYTHREAD_NAME_MAXLEN"; then
+if test -n "$_PYTHREAD_NAME_MAXLEN"; then
 
-printf "%s\n" "#define PYTHREAD_NAME_MAXLEN $PYTHREAD_NAME_MAXLEN" >>confdefs.h
+printf "%s\n" "#define _PYTHREAD_NAME_MAXLEN $_PYTHREAD_NAME_MAXLEN" 
>>confdefs.h
 
 fi
 
diff --git a/configure.ac b/configure.ac
index d7c3920d049d67..cc499dfbc502f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7539,19 +7539,19 @@ _RESTORE_VAR([CPPFLAGS])
 
 # gh-59705: Maximum length in bytes of a thread name
 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;;
-  *) PYTHREAD_NAME_MAXLEN=;;
+  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;;
+  *) _PYTHREAD_NAME_MAXLEN=;;
 esac
-if test -n "$PYTHREAD_NAME_MAXLEN"; then
-    AC_DEFINE_UNQUOTED([PYTHREAD_NAME_MAXLEN], [$PYTHREAD_NAME_MAXLEN],
+if test -n "$_PYTHREAD_NAME_MAXLEN"; then
+    AC_DEFINE_UNQUOTED([_PYTHREAD_NAME_MAXLEN], [$_PYTHREAD_NAME_MAXLEN],
                        [Maximum length in bytes of a thread name])
 fi
-AC_SUBST([PYTHREAD_NAME_MAXLEN])
+AC_SUBST([_PYTHREAD_NAME_MAXLEN])
 
 
 # stdlib
diff --git a/pyconfig.h.in b/pyconfig.h.in
index aaf52168c3d39d..30e55158bad4d6 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -1662,9 +1662,6 @@
 /* Define as the preferred size in bits of long digits */
 #undef PYLONG_BITS_IN_DIGIT
 
-/* Maximum length in bytes of a thread name */
-#undef PYTHREAD_NAME_MAXLEN
-
 /* enabled builtin hash modules */
 #undef PY_BUILTIN_HASHLIB_HASHES
 
@@ -1980,6 +1977,9 @@
 /* framework name */
 #undef _PYTHONFRAMEWORK
 
+/* Maximum length in bytes of a thread name */
+#undef _PYTHREAD_NAME_MAXLEN
+
 /* Define to force use of thread-safe errno, h_errno, and other functions */
 #undef _REENTRANT
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to