Kovid Goyal added the comment: Just FYI, a pure python2 implementation that monkey patches Thread.start() to set the OS level thread name intelligently.
import ctypes, ctypes.util, threading libpthread_path = ctypes.util.find_library("pthread") if libpthread_path: libpthread = ctypes.CDLL(libpthread_path) if hasattr(libpthread, "pthread_setname_np"): pthread_setname_np = libpthread.pthread_setname_np pthread_setname_np.argtypes = [ctypes.c_void_p, ctypes.c_char_p] pthread_setname_np.restype = ctypes.c_int orig_start = threading.Thread.start def new_start(self): orig_start(self) try: name = self.name if not name or name.startswith('Thread-'): name = self.__class__.__name__ if name == 'Thread': name = self.name if name: if isinstance(name, unicode): name = name.encode('ascii', 'replace') ident = getattr(self, "ident", None) if ident is not None: pthread_setname_np(ident, name[:15]) except Exception: pass # Don't care about failure to set name threading.Thread.start = new_start ---------- nosy: +kovid _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15500> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com