Our friends working on the HDF5 library want to clean up HDF5 metadta at finalize time. So, they put an attribute on MPI_COMM_SELF and have the delete function make a few MPI-IO routines to write out dirty metadata blocks. Except ROMIO beat them to it and hoked a delete function on MPI_COMM_SELF, so they end up making MPI_FILE_* calls after romio's shut down. The easy, if not exactly user-friendly, workaround is to tell them to initialize romio early on: call MPI_Init() then call MPI_FILE_OPEN with any parameters, then hook up their attributes. What if I want to initialize ROMIO in the MPI_Init path? ROMIO's initialization makes a few MPI attribute calls, as I said, so is there a point after which that facility is availalbe? Is the attached patch the totally wrong way to do this? ==rob -- Rob Latham Mathematics and Computer Science Division Argonne National Lab, IL USA