[Bug libgomp/52303] libgomp leaves threads lying around that cause trouble if the program is later fork()'d

olivier.grisel at ensta dot org gcc-bugzilla@gcc.gnu.org
Thu Sep 5 09:47:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52303

Olivier Grisel <olivier.grisel at ensta dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |olivier.grisel at ensta dot org

--- Comment #4 from Olivier Grisel <olivier.grisel at ensta dot org> ---
Wouldn't it be possible to make the libgomp runtime record the pid of the
process who initialized the openmp thread pool and then whenever a parallel
section is reached by the process to check whether the pid of the current
process matches the pid that initialized the thread pool? If not a new init
could be triggered at that point to make it possible to have a fork-child
process use openmp sections in turn transparently.

Alternatively it would be nice to have access to a public function to shutdown
("de-initialize") a thread pool prior to a fork.



More information about the Gcc-bugs mailing list