In last meeting, the group's straw vote has preferred proposal 1
(MPI_Signal) over proposal 2 (MPI_Kill). Sorry to reopen the
Even if we provide MPI_Signal, I think we will still need a MPI_Kill.
Sending a kill signal to the process might not be the preferred way
of killing a process, SIGINT or SIGTERM maybe a better choise. This
changes from system to system. There might be interaction with the
job management system, and system level clean up need to be done.
So MPI_Kill is a much better choise to provide a portable interface
that reliably terminate a process and does the necessary system level
cleanup. MPI_Kill is necessary in addition to MPI_Signal.
Now, onto a seprate discussion. Why is MPI providing a general signal
machanism? The section in advice to users is a pretty good summary of
the problems with signals. MPI in the past has tried very hard to
ensure no to introduce things that is not thread-safe, even though it
never claim itself to be thread-safe. Signal is one of the things
that is not thread-safe.