summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/H5private.h b/src/H5private.h
index f828a46..ac4574f 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -210,10 +210,11 @@
*/
#define eventa(func_name) h5_mpe_eventa
#define eventb(func_name) h5_mpe_eventb
-#define MPE_LOG_VARS \
- static int eventa(FUNC) = -1; \
- static int eventb(FUNC) = -1; \
- const char* p_event_start = "start" FUNC;
+#define MPE_LOG_VARS \
+ static int h5_mpe_eventa = -1; \
+ static int h5_mpe_eventb = -1; \
+ static char p_event_start[128]; \
+ static char p_event_end[128];
/* Hardwire the color to "red", since that's what all the routines are using
* now. In the future, if we want to change that color for a given routine,
@@ -222,15 +223,18 @@
* color information down to the BEGIN_MPE_LOG macro (which should have a new
* BEGIN_MPE_LOG_COLOR variant). -QAK
*/
-#define BEGIN_MPE_LOG \
- if (H5_MPEinit_g){ \
- if (eventa(FUNC) == -1 && eventb(FUNC) == -1) { \
- const char* p_color = "red"; \
- eventa(FUNC)=MPE_Log_get_event_number(); \
- eventb(FUNC)=MPE_Log_get_event_number(); \
- MPE_Describe_state(eventa(FUNC), eventb(FUNC), (char *)FUNC, (char *)p_color); \
- } \
- MPE_Log_event(eventa(FUNC), 0, (char *)p_event_start); \
+#define BEGIN_MPE_LOG \
+ if(H5_MPEinit_g) { \
+ if(h5_mpe_eventa == -1 && h5_mpe_eventb == -1) { \
+ const char *p_color = "red"; \
+ \
+ h5_mpe_eventa = MPE_Log_get_event_number(); \
+ h5_mpe_eventb = MPE_Log_get_event_number(); \
+ HDsnprintf(p_event_start, sizeof(p_event_start) - 1, "start_%s", FUNC); \
+ HDsnprintf(p_event_end, sizeof(p_event_end) - 1, "end_%s", FUNC); \
+ MPE_Describe_state(h5_mpe_eventa, h5_mpe_eventb, (char *)FUNC, (char *)p_color); \
+ } \
+ MPE_Log_event(h5_mpe_eventa, 0, p_event_start); \
}
@@ -240,9 +244,9 @@
*
* Programmer: Long Wang
*/
-#define FINISH_MPE_LOG \
- if (H5_MPEinit_g) { \
- MPE_Log_event(eventb(FUNC), 0, (char *)FUNC); \
+#define FINISH_MPE_LOG \
+ if(H5_MPEinit_g) { \
+ MPE_Log_event(h5_mpe_eventb, 0, p_event_end); \
}
#else /* H5_HAVE_MPE */