diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-05-19 14:51:50 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-05-19 14:51:50 (GMT) |
commit | d894ed6d0dd5e750566d783f399213c84b40345e (patch) | |
tree | 46c5c8b417de7d7956b7e161a3a93bc5db1fad42 /src/H5TSprivate.h | |
parent | c0d424e947ed9f996f66b32dab8e47cda201d1fa (diff) | |
download | hdf5-d894ed6d0dd5e750566d783f399213c84b40345e.zip hdf5-d894ed6d0dd5e750566d783f399213c84b40345e.tar.gz hdf5-d894ed6d0dd5e750566d783f399213c84b40345e.tar.bz2 |
[svn-r2276] Modifed thread-safety code to more closely align with rest of HDF5 coding
standards.
Diffstat (limited to 'src/H5TSprivate.h')
-rw-r--r-- | src/H5TSprivate.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/H5TSprivate.h b/src/H5TSprivate.h new file mode 100644 index 0000000..601b6f0 --- /dev/null +++ b/src/H5TSprivate.h @@ -0,0 +1,54 @@ +/*------------------------------------------------------------------------- + * Copyright (C) 2000 National Center for Supercomputing Applications. + * All rights reserved. + * + *------------------------------------------------------------------------- + * + * Created: H5TSprivate.h + * May 2 2000 + * Chee Wai LEE + * + * Purpose: Private non-prototype header. + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +#ifndef _H5TSprivate_H +#define _H5TSprivate_H + +/* Public headers needed by this file */ +#ifdef LATER +#include <H5TSpublic.h> /*Public API prototypes */ +#endif /* LATER */ + +/* Library level data structures */ + +typedef struct H5TS_mutex_struct { + pthread_t owner_thread; /* current lock owner */ + pthread_mutex_t atomic_lock; /* lock for atomicity of new mechanism */ + pthread_cond_t cond_var; /* condition variable */ + unsigned int lock_count; +} H5TS_mutex_t; + +/* Extern global variables */ +extern pthread_once_t H5TS_first_init_g; +extern pthread_key_t H5TS_errstk_key_g; + +#if defined c_plusplus || defined __cplusplus +extern "C" +{ +#endif /* c_plusplus || __cplusplus */ + +__DLL__ void H5TS_first_thread_init(void); +__DLL__ void H5TS_mutex_lock(H5TS_mutex_t *mutex); +__DLL__ void H5TS_mutex_unlock(H5TS_mutex_t *mutex); +__DLL__ void H5TS_cancel_count_inc(void); +__DLL__ void H5TS_cancel_count_dec(void); + +#if defined c_plusplus || defined __cplusplus +} +#endif /* c_plusplus || __cplusplus */ + +#endif /* _H5TSprivate_H */ + |