Hi, I've been working on this MPI Ruby thing and in it, I embed ruby into an MPI program. To do this, I run ruby_run(). I was having a lot of problems because every MPI program needs to run MPI_Finalize() before exiting and I was calling this after ruby_run(), but since ruby_run() calls exit(), the MPI_Finalize() wasn't being reached. I put it into an atexit(), but why does ruby_run() call exit anyway? Thanks, Emil