On Mar 8, 2013, at 6:56 AM, George Bosilca <bosi...@icl.utk.edu> wrote:
> Correctly used, OBJ_NEW / OBJ_CONSTRUCT / OBJ_DESTRUCT, are not a bad set of > macros. When an object is not needed and known not to be refereed anymore, it > can safely be OBJ_DESTRUCT despite the fact that its reference count is not > 1. Otherwise, in all BTLs we will have to put all fragments back in the right > place, remove them from all lists, before calling the destructor. In other > words, no collection class in Open MPI will work correctly, especially not > the one we use the most often the ompi_free_list. So far, I haven't found any problems with those. I've been finding problems with MPI predefined handles (e.g., COMM_WORLD, COMM_PARENT, and others). I still don't have dynamic processes working properly yet -- there's an extra refcount somewhere. https://svn.open-mpi.org/trac/ompi/changeset/28157 was found by this assert, too. Let me get further along; if we find cases that are legitimately DESTRUCTing when the refcount isn't 1, we can discuss. -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/