New submission from Adrien <delgan...@gmail.com>:

Hi.

I noticed that there exists the function "threading.main_thread()", but there 
is no equivalent for the "multiprocessing" module.

Is there a reason for this absence?

These StackOverflow questions are related to this problem:
- 
https://stackoverflow.com/questions/42283265/how-to-determine-if-running-current-process-is-parent
- 
https://stackoverflow.com/questions/30790660/python-multiprocessing-name-of-the-main-process
- 
https://stackoverflow.com/questions/18216050/is-there-a-way-to-check-if-a-module-is-being-loaded-by-multiprocessing-standard

Current proposed solutions have flaws.
It's suggested to check if "current_process().name == 'MainProcess'" but anyone 
can re-write the name of a process with "current_process().name = 'foobar'" so 
this does not seem to be a reliable solution.
Another alternative is to check for the type of the process, which is different 
for main and child, respectively "mulitprocessing.process._MainProcess" and 
"multiprocessing.process.Process". This is obviously hacky as it relies on 
implementation detail.

What are you thoughts on adding a new "multiprocessing.main_process()" function?

----------
components: Library (Lib)
messages: 354918
nosy: Delgan
priority: normal
severity: normal
status: open
title: There is no proper way to know if a process is the main one
type: enhancement

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue38520>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to