summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2005-11-16 01:01:37 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2005-11-16 01:01:37 (GMT)
commit671187fd2b53c916f444e849a2fd57bac06552f8 (patch)
treea1a723b81dda3c967a597a9d7477806e4fcfa706 /src/H5private.h
parente70783203ab603627147c565d0fe08ddbe103981 (diff)
downloadhdf5-671187fd2b53c916f444e849a2fd57bac06552f8.zip
hdf5-671187fd2b53c916f444e849a2fd57bac06552f8.tar.gz
hdf5-671187fd2b53c916f444e849a2fd57bac06552f8.tar.bz2
[svn-r11733] Purpose:
Code cleanup Description: Added some comments about the thread-specific memory for the error and function stacks. Changed H5close() to not use the function stack (since it causes it to be re-enabled after shutting it down) Changed thread-safe semaphore code to not use dynamicly allocated memory. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Too minor to require h5committest
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/H5private.h b/src/H5private.h
index 28ec832..21e2d43 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1238,7 +1238,7 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
/*
* Use this macro for API functions that shouldn't perform _any_ initialization
* of the library or an interface, just perform tracing, etc. Examples
- * are: H5close, H5check_version, etc.
+ * are: H5check_version, etc.
*
*/
#define FUNC_ENTER_API_NOINIT(func_name) {{ \
@@ -1249,6 +1249,20 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
BEGIN_MPE_LOG(func_name); \
{
+/*
+ * Use this macro for API functions that shouldn't perform _any_ initialization
+ * of the library or an interface or push themselves on the function
+ * stack, just perform tracing, etc. Examples
+ * are: H5close, etc.
+ *
+ */
+#define FUNC_ENTER_API_NOINIT_NOFS(func_name) {{ \
+ FUNC_ENTER_API_VARS(func_name) \
+ FUNC_ENTER_COMMON(func_name,H5_IS_API(#func_name)); \
+ FUNC_ENTER_API_THREADSAFE; \
+ BEGIN_MPE_LOG(func_name); \
+ {
+
/* Use this macro for all "normal" non-API functions */
#define FUNC_ENTER_NOAPI(func_name,err) { \
FUNC_ENTER_COMMON(func_name,!H5_IS_API(#func_name)); \
@@ -1353,6 +1367,14 @@ static herr_t H5_INTERFACE_INIT_FUNC(void);
} /*end scope from end of FUNC_ENTER*/ \
}} /*end scope from beginning of FUNC_ENTER*/
+#define FUNC_LEAVE_API_NOFS(ret_value) \
+ FINISH_MPE_LOG; \
+ H5TRACE_RETURN(ret_value); \
+ FUNC_LEAVE_API_THREADSAFE \
+ return (ret_value); \
+ } /*end scope from end of FUNC_ENTER*/ \
+}} /*end scope from beginning of FUNC_ENTER*/
+
#define FUNC_LEAVE_NOAPI(ret_value) \
H5_POP_FUNC; \
return (ret_value); \