Since you mention a root process and events, I am guessing this is a
master/slave model. If that is the case and the slaves receive work
from the master (root process), the common method is to send a stop
message to the slaves. This is typically a zero byte message using a
distinct tag to indicate that the slave should terminate.
If you have some other setup where the non-roots are not communicating
with the root (this would be a strange situation) you may need to make
the non-roots multi-threaded and have a thread that just looks for a
stop message from the root.
There may be other mechanisms, such as signals, but generally messages
are the way to do this.
If this does not cover your app then you probably need to supply more
detail about how your application behaves.
I hope this helps.
Dave.
gsaxena_at_[hidden] wrote:
> Hi,
>
> Im having an unusual problem:
> the root process enters an event loop of an event based user-interface. Is
> there a way I can explicitly let all the other processes waiting for
> messages know when to quit ?
>
> Right now the root process calls MPI_Finalize() safely, however the others
> aren't able to learn of it. Any suggestions ?
>
> Thanks,
>
> Gaurav Saxena
> Research Assistant
> Kent State University.
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
--
Dr. David Cronk, Ph.D. phone: (865) 974-3735
Research Leader fax: (865) 974-8296
Innovative Computing Lab http://www.cs.utk.edu/~cronk
University of Tennessee, Knoxville
|