2c03554fe7
as orte_show_help(), but it takes a fully-rendered string instead of a varargs list that must be rendered. This function is useful in cases where one entity renders the "show help" string and a different entity sends the string via the normal orte "show help" mechanisms for aggregation, etc. Example usage: errors occur in the ODLS after forking but before exec'ing. In such cases, it makes sense for the the child process to render the "show help" string because it has all the details about the error. But the child process can't call orte_show_help() itself because it is not an ORTE process -- it can't OOB send the message to the HNP, etc. After rendering the help string, the child sends the rendered string to its parent via normal IPC (e.g., via a pipe) and the parent can then invoke orte_show_help_norender() with the ready-to-go string. The message then displays out via the normal mechanisms (i.e., out via the HNP, aggregated/coalesced, etc.). This commit was SVN r23651.
105 строки
3.2 KiB
C
105 строки
3.2 KiB
C
/*
|
|
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
|
|
* University Research and Technology
|
|
* Corporation. All rights reserved.
|
|
* Copyright (c) 2004-2006 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 (c) 2008-2010 Cisco Systems, Inc. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
/** @file:
|
|
*
|
|
* Populates global structure with system-specific information.
|
|
*
|
|
* Notes: add limits.h, compute size of integer and other types via sizeof(type)*CHAR_BIT
|
|
*
|
|
*/
|
|
|
|
#ifndef _ORTE_SHOW_HELP_H_
|
|
#define _ORTE_SHOW_HELP_H_
|
|
|
|
#include "orte_config.h"
|
|
#include "orte/types.h"
|
|
|
|
|
|
#include "orte/mca/rml/rml_types.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/**
|
|
* Initializes the output stream system and opens a default
|
|
* "verbose" stream.
|
|
*
|
|
* @retval success Upon success.
|
|
* @retval error Upon failure.
|
|
*
|
|
* This should be the first function invoked in the output
|
|
* subsystem. After this call, the default "verbose" stream is open
|
|
* and can be written to via calls to orte_output_verbose() and
|
|
* orte_output_error().
|
|
*
|
|
* By definition, the default verbose stream has a handle ID of 0,
|
|
* and has a verbose level of 0.
|
|
*/
|
|
ORTE_DECLSPEC int orte_show_help_init(void);
|
|
|
|
/**
|
|
* Shut down the output stream system.
|
|
*
|
|
* Shut down the output stream system, including the default verbose
|
|
* stream.
|
|
*/
|
|
ORTE_DECLSPEC void orte_show_help_finalize(void);
|
|
|
|
/**
|
|
* Show help.
|
|
*
|
|
* Sends show help messages to the HNP if on a backend node. Note
|
|
* that aggregation is not currently supported on HNP-less systems
|
|
* (e.g., cray).
|
|
*/
|
|
ORTE_DECLSPEC int orte_show_help(const char *filename, const char *topic,
|
|
bool want_error_header, ...);
|
|
|
|
/**
|
|
* Exactly the same as orte_show_help, but pass in a rendered string,
|
|
* rather than a varargs list which must be rendered.
|
|
*/
|
|
ORTE_DECLSPEC int orte_show_help_norender(const char *filename,
|
|
const char *topic,
|
|
bool want_error_header,
|
|
const char *output);
|
|
|
|
/**
|
|
* Pretend that this message has already been shown.
|
|
*
|
|
* Sends a control message to the HNP that will effecitvely suppress
|
|
* this message from being shown. Primitive *-wildcarding is
|
|
* possible.
|
|
*
|
|
* Not currently supported on HNP-less systems (e.g., cray).
|
|
*/
|
|
ORTE_DECLSPEC int orte_show_help_suppress(const char *filename,
|
|
const char *topic);
|
|
|
|
#if !ORTE_DISABLE_FULL_SUPPORT
|
|
|
|
ORTE_DECLSPEC void orte_show_help_recv(int status, orte_process_name_t* sender,
|
|
opal_buffer_t *buffer, orte_rml_tag_t tag,
|
|
void* cbdata);
|
|
|
|
#endif /* ORTE_DISABLE_FULL_SUPPORT */
|
|
|
|
END_C_DECLS
|
|
#endif
|