summaryrefslogtreecommitdiffstats
path: root/src/H5E.c
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2002-04-03 04:44:26 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2002-04-03 04:44:26 (GMT)
commitad641fa7b617c8ca2ec11602cde0f72fa12696cd (patch)
tree8e08d800581c3c76c3339f50e7fc59d1b62405c8 /src/H5E.c
parentc0ca09a89965e49df0cf1a1b11f955a7d1510a0f (diff)
downloadhdf5-ad641fa7b617c8ca2ec11602cde0f72fa12696cd.zip
hdf5-ad641fa7b617c8ca2ec11602cde0f72fa12696cd.tar.gz
hdf5-ad641fa7b617c8ca2ec11602cde0f72fa12696cd.tar.bz2
[svn-r5135] Purpose:
Features. Description: Error stack used to report only hdf5 predefined error messages because it takes only static strings. Runtime defined messages were not pushed to the stack. Added the means and macros to push MPI error strings onto the hdf5 error stack. Added a new minor error class as H5E_MPIERR for this class of messages. H5Epulbic.h, H5E.c: Added H5E_MPIERR and its minor class description. H5Eprivate.h: Added HMPI_XXX macros to push MPI error strings to the stack. H5FDmpio.c: Changed couple places to use the new macros to test the new macros. A more through changes to make use of these new macros will be done later. Platforms tested: eirene (serial, parallel) modi4(parallel)
Diffstat (limited to 'src/H5E.c')
-rw-r--r--src/H5E.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/H5E.c b/src/H5E.c
index 19d1645..bf50045 100644
--- a/src/H5E.c
+++ b/src/H5E.c
@@ -1,6 +1,6 @@
/*
* Copyright (C) 1998-2001 NCSA HDF
- * All rights reserved.
+ * All rights reserved.
*
* Purpose: Provides error handling in the form of a stack. The
* FUNC_ENTER() macro clears the error stack whenever an API
@@ -29,7 +29,7 @@
*
*/
#include "H5private.h" /* Generic Functions */
-#include "H5Iprivate.h" /* IDs */
+#include "H5Iprivate.h" /* IDs */
#include "H5Eprivate.h" /* Private error routines */
#include "H5MMprivate.h" /* Memory management */
@@ -145,8 +145,9 @@ static const H5E_minor_mesg_t H5E_minor_mesg_g[] = {
{H5E_CANTGET, "Can't get value"},
{H5E_CANTSET, "Can't set value"},
- /* Parallel I/O errors */
- {H5E_MPI, "Some MPI function failed"}
+ /* Parallel MPI errors */
+ {H5E_MPI, "Some MPI function failed"},
+ {H5E_MPIERRSTR, "MPI Error String"}
};
/* Interface initialization? */
@@ -176,6 +177,14 @@ H5E_t H5E_stack_g[1];
#define H5E_get_my_stack() (H5E_stack_g+0)
#endif
+#ifdef H5_HAVE_PARALLEL
+/*
+ * variables used for MPI error reporting
+ */
+char H5E_mpi_error_str[MPI_MAX_ERROR_STRING];
+int H5E_mpi_error_str_len;
+#endif
+
/*
* Automatic error stack traversal occurs if the traversal callback function
* is non null and an API function is about to return an error. These should