[Python-Dev] Is it a Python bug that the main thread of a process created in a daemon thread is a daemon itself?

Antoine Pitrou solipsis at pitrou.net
Thu Jun 25 21:34:53 CEST 2015


Hello Elizabeth,

On Thu, 25 Jun 2015 20:23:44 +0300
Elizabeth Shashkova <elizabeth.shashkova at gmail.com> wrote:
> Hello everybody!
> 
> When I call fork() inside a daemon thread, the main thread in the child
> process has the "daemon" property set to True. This is very confusing,
> since the program keeps running while the only thread is a daemon.
> According to the docs, if all the threads are daemons the program should
> exit. Here is an example:
> 
[...]
> 
> Is it a bug in the CPython implementation?

Yes, it looks like a bug. You can report it at http://bugs.python.org

> Also let's assume the second example. I have another non-daemon thread
> in the child process and want to detect this situation. Does anybody
> know a way to find such fake daemon threads that are really main
> threads?

There should really be only one fake daemon thread, since there's
only one main thread. And after calling fork(), you know what the main
thread is :-)

Regards

Antoine.




More information about the Python-Dev mailing list