1
1
openmpi/ompi
Jeff Squyres 72bef32e65 Convert the C++ Comm keyval creation and intercept callbacks to *not*
use the STL.  This is the first step in removing the STL from the C++
bindings (Solaris has 2 versions of the STL; if OMPI uses one and an
MPI application wants to use another, Bad Things happen).

The main idea is to wrap up the C++ callback function pointers and the
user's extra_state into our own struct that is passed as the
extra_state to the C keyval registration along with the intercept
routines in intercepts.cc.  When the C++ intercepts are activated,
they unwrap the user's callback and extra state and call them.

It got a little more complicated than that, however:

 * I realized that we were returning errors back from
   Comm::create_keyval() incorrectly, so I fixed that.
 * Instead of using STL maps to store associations, we now use an
   opal_list_t which has to be guaranteed to be initialized correctly
   and only once in a multi-threaded environment.
 * Because of whackyness in the C++ bindings, it is possible to call
   Comm::Create_keyval with C callbacks (!).  If both registered
   callbacks are C functions, then ensure to avoid all the C++
   machinery.

This commit was SVN r17125.
2008-01-12 13:20:38 +00:00
..
attribute Fix a comment -- we implemented windows a long time ago. 2007-11-05 13:43:53 +00:00
class Cleanup the comments. 2008-01-09 20:34:37 +00:00
communicator Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
datatype Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
debuggers Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
errhandler Add a new macro (CONSTRUCT_ERRCODE) and replace all the error 2007-12-21 06:22:29 +00:00
etc Next step in the project split, mainly source code re-arranging 2006-02-12 01:33:29 +00:00
file Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
group Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
include Fixes trac:1029: add in support for MPI_CONVERSION_FN_NULL. 2007-12-07 13:09:07 +00:00
info Only define ompi_info_value_to_bool once - the second time was supposed to be ompi_info_value_to_int 2007-12-21 15:06:59 +00:00
mca added optional rendezvous protocol for long messages 2008-01-11 22:12:45 +00:00
mpi Convert the C++ Comm keyval creation and intercept callbacks to *not* 2008-01-12 13:20:38 +00:00
op Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
peruse Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
proc These changes were mostly captured in a prior RFC (except for #2 below) and are aimed specifically at improving startup performance and setting up the remaining modifications described in that RFC. 2007-10-05 19:48:23 +00:00
request Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
runtime Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
tools Fixes trac:740: allow ompi_info to show the mandir. 2007-12-03 15:35:37 +00:00
win Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
Makefile.am Allow OMPI components to modify the link options for libmpi.so. This 2007-08-17 03:52:53 +00:00
README.dox Update the copyright notices for IU and UTK. 2005-11-05 19:57:48 +00:00

/*
 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
 *                         University Research and Technology
 *                         Corporation.  All rights reserved.
 * Copyright (c) 2004-2005 The University of Tennessee and The University
 *                         of Tennessee Research Foundation.  All rights
 *                         reserved.
 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
 *                         University of Stuttgart.  All rights reserved.
 * Copyright (c) 2004-2005 The Regents of the University of California.
 *                         All rights reserved.
 * $COPYRIGHT$
 * 
 * Additional copyrights may follow
 * 
 * $HEADER$
 */
/** @mainpage

@section mainpage_introduction Introduction

This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.

@section main_install Installation
 
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.

*/