#914: Don't use fork()
Reporter:Erik Schnetter
Status:resolved
Milestone:
Version:
Type:enhancement
Priority:minor
Component:EinsteinToolkit thorn

Changes (by Roland Haas):

status:resolved (was new)

It seems that it is in many cases not safe to call fork() in MPI applications. This page http://www.open-mpi.de/faq/?category=openfabrics#ofa-fork has some information. The upshot seems to be: - In many (most) cases, one can call system() or popen() to execute external processes while waiting for them. - It is generally not safe to call fork() to execute a certain task in the background. However, it should be possible to use threads in this case.

Keyword:

Comment (by Roland Haas):

There is no more (active) code in the ET that uses fork(). The only places where fork() still shows up in C code is Formaline (where it is disabled by default and PTHREADS is used instead) and OpenCLRunTime (where it is commented out altogether). In both cases there is a comment "Don't use fork, MPI may not like it". I believe this discussion only ticket can be closed.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/914/dont-use-fork