Because that's what we had been using and I was going for minimal
change (since this is for v1.2). Also note that *none* of this code
is in performance critical areas. Last I checked, we don't really
care how fast attribute updates and error handlers are fired... I
think there are much better ways of dealing with all the problems
addressed below, but to do it right means a fairly sizable change and
that seemed like a bad idea at this time.
Brian
On Jan 2, 2007, at 9:06 AM, George Bosilca wrote:
Using a STL map to keep in relation the C pointer with the C++ object
isn't that way more expensive that it is supposed to be ? The STL map
is just a hash table, it can be as optimized as you want, it's still
a hash table. How about using exactly the same mechanism as for the
Fortran handler ? It's cheap, it's based on an array, it's thread
save and we just reuse the code already there.
george.
On Dec 30, 2006, at 6:41 PM, brbar...@osl.iu.edu wrote:
Author: brbarret
Date: 2006-12-30 18:41:42 EST (Sat, 30 Dec 2006)
New Revision: 12945
Added:
trunk/ompi/mpi/cxx/datatype.cc
trunk/ompi/mpi/cxx/file.cc
trunk/ompi/mpi/cxx/win.cc
Modified:
trunk/ompi/errhandler/errhandler.c
trunk/ompi/errhandler/errhandler.h
trunk/ompi/mpi/cxx/Makefile.am
trunk/ompi/mpi/cxx/comm.cc
trunk/ompi/mpi/cxx/comm.h
trunk/ompi/mpi/cxx/comm_inln.h
trunk/ompi/mpi/cxx/datatype.h
trunk/ompi/mpi/cxx/datatype_inln.h
trunk/ompi/mpi/cxx/errhandler.h
trunk/ompi/mpi/cxx/file.h
trunk/ompi/mpi/cxx/file_inln.h
trunk/ompi/mpi/cxx/functions.h
trunk/ompi/mpi/cxx/functions_inln.h
trunk/ompi/mpi/cxx/intercepts.cc
trunk/ompi/mpi/cxx/mpicxx.cc
trunk/ompi/mpi/cxx/mpicxx.h
trunk/ompi/mpi/cxx/win.h
trunk/ompi/mpi/cxx/win_inln.h
Log:
A number of MPI-2 compliance fixes for the C++ bindings:
* Added Create_errhandler for MPI::File
* Make errors_throw_exceptions a first-class predefined exception
handler, and make it work for Comm, File, and Win
* Deal with error handlers and attributes for Files, Types, and
Wins
like we do with Comms - can't just cast the callbacks from C++
signatures to C signatures. Callbacks will then fire with the
C object, not the C++ object. That's bad.
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
--
Brian Barrett
Open MPI Team, CCS-1
Los Alamos National Laboratory