2006-01-11 05:02:15 +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 .
2006-11-22 02:06:52 +00:00
* Copyright ( c ) 2006 Los Alamos National Security , LLC . All rights
* reserved .
2009-04-10 15:32:33 +00:00
* Copyright ( c ) 2008 - 2009 Cisco Systems , Inc . All rights reserved .
2006-01-11 05:02:15 +00:00
* $ COPYRIGHT $
*
* Additional copyrights may follow
*
* $ HEADER $
*/
2006-02-12 01:33:29 +00:00
# include "opal_config.h"
2006-01-11 05:02:15 +00:00
# include <time.h>
# ifdef HAVE_SIGNAL_H
# include <signal.h>
# endif
2006-02-12 01:33:29 +00:00
# include "opal/constants.h"
2006-01-11 05:02:15 +00:00
# include "opal/runtime/opal.h"
# include "opal/mca/base/mca_base_param.h"
2007-06-12 16:25:26 +00:00
# include "opal/threads/mutex.h"
2006-01-11 05:02:15 +00:00
int opal_register_params ( void )
{
/*
* This string is going to be used in opal / util / stacktrace . c
*/
{
char * string = NULL ;
int j ;
int signals [ ] = {
# ifdef SIGABRT
SIGABRT ,
# endif
# ifdef SIGBUS
SIGBUS ,
# endif
# ifdef SIGFPE
SIGFPE ,
# endif
# ifdef SIGSEGV
SIGSEGV ,
# endif
- 1
} ;
for ( j = 0 ; signals [ j ] ! = - 1 ; + + j ) {
if ( j = = 0 ) {
asprintf ( & string , " %d " , signals [ j ] ) ;
} else {
char * tmp ;
asprintf ( & tmp , " %s,%d " , string , signals [ j ] ) ;
free ( string ) ;
string = tmp ;
}
}
mca_base_param_reg_string_name ( " opal " , " signal " ,
2009-04-10 15:32:33 +00:00
" Comma-delimited list of integer signal numbers to Open MPI to attempt to intercept. Upon receipt of the intercepted signal, Open MPI will display a stack trace and abort. Open MPI will *not* replace signals if handlers are already installed by the time MPI_INIT is invoked. Optionally append \" :complain \" to any signal number in the comma-delimited list to make Open MPI complain if it detects another signal handler (and therefore does not insert its own). " ,
2006-01-11 05:02:15 +00:00
false , false , string , NULL ) ;
2007-03-07 01:09:38 +00:00
free ( string ) ;
2006-01-11 05:02:15 +00:00
}
2008-12-09 23:49:02 +00:00
{
int j ;
mca_base_param_reg_int_name ( " opal " , " profile " ,
" Set to non-zero to profile component selections " ,
false , false , ( int ) false , & j ) ;
opal_profile = OPAL_INT_TO_BOOL ( j ) ;
mca_base_param_reg_string_name ( " opal " , " profile_file " ,
" Name of the file containing the cluster configuration information " ,
false , false , NULL , & opal_profile_file ) ;
}
2006-11-22 02:06:52 +00:00
# if OMPI_ENABLE_DEBUG
2007-06-12 16:25:26 +00:00
2006-11-22 02:06:52 +00:00
mca_base_param_reg_int_name ( " opal " , " progress_debug " ,
" Set to non-zero to debug progress engine features " ,
false , false , 0 , NULL ) ;
2007-06-12 16:25:26 +00:00
{
int value ;
mca_base_param_reg_int_name ( " opal " , " debug_locks " ,
" Debug mutex usage within Open MPI. On a "
" non-threaded build, this enables integer counters and "
" warning messages when double-locks are detected. " ,
false , false , 0 , & value ) ;
if ( value ) opal_mutex_check_locks = true ;
}
2006-11-22 02:06:52 +00:00
# endif
2006-01-11 05:02:15 +00:00
return OPAL_SUCCESS ;
}