[Python-Dev] Add function to signal module for getting main thread id

Oleg Broytman phd at phdru.name
Fri Aug 30 11:44:35 CEST 2013

On Fri, Aug 30, 2013 at 12:24:07PM +0300, Andrew Svetlov <andrew.svetlov at gmail.com> wrote:
> Main thread is slightly different from others.
> Signals can be subscribed from main thread only.
> Tulip has special logic for main thread.
> In application code we can explicitly know which thread is executed,
> main or not.
> But from library it's not easy.
> Tulip uses check like
>     threading.current_thread().name == 'MainThread'
> This approach has a problem: thread name is writable attribute and can
> be changed by user code.

   You can test
threading.current_thread().__class__ is threading._MainThread
threading.current_thread().ident == threading._MainThread.ident

> My proposition is to add function like get_mainthread_id() -> int
> which return ident for main thread

   threading._MainThread.ident ?

     Oleg Broytman            http://phdru.name/            phd at phdru.name
           Programmers don't die, they just GOSUB without RETURN.

More information about the Python-Dev mailing list