summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2017-03-16 15:01:33 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2017-03-16 15:01:33 (GMT)
commit89d1b13319bc7790333236fb607d7d7f18d088b8 (patch)
tree3c41d22f4a4bab8e254cdff886337eea78b858dc
parent9fa63a070fe07eec7bece0b495510771049bf18f (diff)
downloadhdf5-89d1b13319bc7790333236fb607d7d7f18d088b8.zip
hdf5-89d1b13319bc7790333236fb607d7d7f18d088b8.tar.gz
hdf5-89d1b13319bc7790333236fb607d7d7f18d088b8.tar.bz2
Modify plugin to use H5VL_daosm_term as the plugin's terminate callback,
now called when the plugin is closed (see merge from vol branch). Removed cal to H5Idec_ref from H5VL_daosm_term. Removed H5VLdaosm_term from examples.
-rw-r--r--examples/h5dsm_attr_create.c4
-rw-r--r--examples/h5dsm_attr_open.c4
-rw-r--r--examples/h5dsm_attr_read.c4
-rw-r--r--examples/h5dsm_attr_write.c4
-rw-r--r--examples/h5dsm_dset_create.c4
-rw-r--r--examples/h5dsm_dset_open.c4
-rw-r--r--examples/h5dsm_dset_r1m.c4
-rw-r--r--examples/h5dsm_dset_read.c4
-rw-r--r--examples/h5dsm_dset_rpartial.c4
-rw-r--r--examples/h5dsm_dset_w1m.c4
-rw-r--r--examples/h5dsm_dset_wpartial.c4
-rw-r--r--examples/h5dsm_dset_write.c4
-rw-r--r--examples/h5dsm_file_create.c4
-rw-r--r--examples/h5dsm_file_open.c4
-rw-r--r--examples/h5dsm_group_create.c4
-rw-r--r--examples/h5dsm_group_open.c4
-rw-r--r--examples/h5dsm_link_exists.c4
-rw-r--r--examples/h5dsm_slink_create.c4
-rw-r--r--examples/h5dsm_ttconv.c4
-rw-r--r--src/H5VLdaosm.c19
20 files changed, 9 insertions, 86 deletions
diff --git a/examples/h5dsm_attr_create.c b/examples/h5dsm_attr_create.c
index 099bffc..56e8988 100644
--- a/examples/h5dsm_attr_create.c
+++ b/examples/h5dsm_attr_create.c
@@ -71,9 +71,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -86,7 +83,6 @@ error:
H5Fclose(file);
H5Sclose(space);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_attr_open.c b/examples/h5dsm_attr_open.c
index c0f54c5..0ab686d 100644
--- a/examples/h5dsm_attr_open.c
+++ b/examples/h5dsm_attr_open.c
@@ -65,9 +65,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -79,7 +76,6 @@ error:
H5Oclose(obj);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_attr_read.c b/examples/h5dsm_attr_read.c
index 52aeecd..eab2d11 100644
--- a/examples/h5dsm_attr_read.c
+++ b/examples/h5dsm_attr_read.c
@@ -88,9 +88,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -102,7 +99,6 @@ error:
H5Oclose(obj);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_attr_write.c b/examples/h5dsm_attr_write.c
index e130613..4b83752 100644
--- a/examples/h5dsm_attr_write.c
+++ b/examples/h5dsm_attr_write.c
@@ -82,9 +82,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -96,7 +93,6 @@ error:
H5Oclose(obj);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_dset_create.c b/examples/h5dsm_dset_create.c
index a0a8fb7..ad0b33d 100644
--- a/examples/h5dsm_dset_create.c
+++ b/examples/h5dsm_dset_create.c
@@ -57,9 +57,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -71,7 +68,6 @@ error:
H5Fclose(file);
H5Sclose(space);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_dset_open.c b/examples/h5dsm_dset_open.c
index f30cb59..3c8f6e1 100644
--- a/examples/h5dsm_dset_open.c
+++ b/examples/h5dsm_dset_open.c
@@ -108,9 +108,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(def_dapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -127,7 +124,6 @@ error:
H5Pclose(dapl);
H5Pclose(def_dcpl);
H5Pclose(def_dapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_dset_r1m.c b/examples/h5dsm_dset_r1m.c
index 0b53908..4f1899c 100644
--- a/examples/h5dsm_dset_r1m.c
+++ b/examples/h5dsm_dset_r1m.c
@@ -95,9 +95,6 @@ int main(int argc, char *argv[]) {
free(nbuf);
nbuf = NULL;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -110,7 +107,6 @@ error:
H5Fclose(file);
H5Fclose(nfile);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
free(buf);
diff --git a/examples/h5dsm_dset_read.c b/examples/h5dsm_dset_read.c
index 91d1c8c..c2b26f9 100644
--- a/examples/h5dsm_dset_read.c
+++ b/examples/h5dsm_dset_read.c
@@ -74,9 +74,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -87,7 +84,6 @@ error:
H5Dclose(dset);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_dset_rpartial.c b/examples/h5dsm_dset_rpartial.c
index 9888de4..a4ebced 100644
--- a/examples/h5dsm_dset_rpartial.c
+++ b/examples/h5dsm_dset_rpartial.c
@@ -129,9 +129,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -144,7 +141,6 @@ error:
H5Sclose(file_space);
H5Sclose(mem_space);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_dset_w1m.c b/examples/h5dsm_dset_w1m.c
index 54640d8..eb5f4be 100644
--- a/examples/h5dsm_dset_w1m.c
+++ b/examples/h5dsm_dset_w1m.c
@@ -94,9 +94,6 @@ int main(int argc, char *argv[]) {
free(buf);
buf = NULL;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -110,7 +107,6 @@ error:
H5Fclose(nfile);
H5Sclose(space);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
free(buf);
diff --git a/examples/h5dsm_dset_wpartial.c b/examples/h5dsm_dset_wpartial.c
index 0056443..6382551 100644
--- a/examples/h5dsm_dset_wpartial.c
+++ b/examples/h5dsm_dset_wpartial.c
@@ -116,9 +116,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -131,7 +128,6 @@ error:
H5Sclose(file_space);
H5Sclose(mem_space);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_dset_write.c b/examples/h5dsm_dset_write.c
index bc31278..7773a25 100644
--- a/examples/h5dsm_dset_write.c
+++ b/examples/h5dsm_dset_write.c
@@ -68,9 +68,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -81,7 +78,6 @@ error:
H5Dclose(dset);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_file_create.c b/examples/h5dsm_file_create.c
index cbf8e8e..f989c7e 100644
--- a/examples/h5dsm_file_create.c
+++ b/examples/h5dsm_file_create.c
@@ -34,9 +34,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -46,7 +43,6 @@ error:
H5E_BEGIN_TRY {
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_file_open.c b/examples/h5dsm_file_open.c
index a0e377d..ce5905a 100644
--- a/examples/h5dsm_file_open.c
+++ b/examples/h5dsm_file_open.c
@@ -44,9 +44,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -57,7 +54,6 @@ error:
H5E_BEGIN_TRY {
H5Fclose_ff(file, -1);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_group_create.c b/examples/h5dsm_group_create.c
index 3a6ab97..d9a5d42 100644
--- a/examples/h5dsm_group_create.c
+++ b/examples/h5dsm_group_create.c
@@ -50,9 +50,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -63,7 +60,6 @@ error:
H5Gclose(grp);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_group_open.c b/examples/h5dsm_group_open.c
index e8835a0..1ede6de 100644
--- a/examples/h5dsm_group_open.c
+++ b/examples/h5dsm_group_open.c
@@ -52,9 +52,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -65,7 +62,6 @@ error:
H5Gclose(grp);
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_link_exists.c b/examples/h5dsm_link_exists.c
index e6ba47b..6672aeb 100644
--- a/examples/h5dsm_link_exists.c
+++ b/examples/h5dsm_link_exists.c
@@ -53,9 +53,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -65,7 +62,6 @@ error:
H5E_BEGIN_TRY {
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_slink_create.c b/examples/h5dsm_slink_create.c
index 6e8fa70..01862de 100644
--- a/examples/h5dsm_slink_create.c
+++ b/examples/h5dsm_slink_create.c
@@ -48,9 +48,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -60,7 +57,6 @@ error:
H5E_BEGIN_TRY {
H5Fclose(file);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/examples/h5dsm_ttconv.c b/examples/h5dsm_ttconv.c
index 6aa927e..ddfa847 100644
--- a/examples/h5dsm_ttconv.c
+++ b/examples/h5dsm_ttconv.c
@@ -888,9 +888,6 @@ int main(int argc, char *argv[]) {
if(H5Pclose(fapl) < 0)
ERROR;
- if(H5VLdaosm_term() < 0)
- ERROR;
-
printf("Success\n");
(void)MPI_Finalize();
@@ -918,7 +915,6 @@ error:
H5Tclose(mem_type_c);
H5Sclose(space);
H5Pclose(fapl);
- H5VLdaosm_term();
} H5E_END_TRY;
(void)MPI_Finalize();
diff --git a/src/H5VLdaosm.c b/src/H5VLdaosm.c
index 6da4ab5..18c088e 100644
--- a/src/H5VLdaosm.c
+++ b/src/H5VLdaosm.c
@@ -71,6 +71,7 @@ typedef enum {
/* Prototypes */
static void *H5VL_daosm_fapl_copy(const void *_old_fa);
static herr_t H5VL_daosm_fapl_free(void *_fa);
+static herr_t H5VL_daosm_term(hid_t vtpl_id);
/* File callbacks */
static void *H5VL_daosm_file_create(const char *name, unsigned flags,
@@ -134,7 +135,6 @@ static herr_t H5VL_daosm_attribute_close(void *_attr, hid_t dxpl_id,
void **req);
/* Helper routines */
-static herr_t H5VL__daosm_term(void);
static herr_t H5VL_daosm_write_max_oid(H5VL_daosm_file_t *file);
static herr_t H5VL_daosm_file_flush(H5VL_daosm_file_t *file);
static herr_t H5VL_daosm_file_close_helper(H5VL_daosm_file_t *file,
@@ -172,7 +172,7 @@ static H5VL_class_t H5VL_daosm_g = {
H5_VOL_DAOSM, /* Plugin value */
"daos_m", /* name */
NULL, /* initialize */
- NULL, /* terminate */
+ H5VL_daosm_term, /* terminate */
sizeof(H5VL_daosm_fapl_t), /*fapl_size */
H5VL_daosm_fapl_copy, /*fapl_copy */
H5VL_daosm_fapl_free, /*fapl_free */
@@ -489,7 +489,7 @@ H5VLdaosm_term(void)
FUNC_ENTER_API(FAIL)
/* Terminate the plugin */
- if(H5VL__daosm_term() < 0)
+ if(H5VL_daosm_term(-1) < 0)
HGOTO_ERROR(H5E_VOL, H5E_CLOSEERROR, FAIL, "can't close DAOS-< VOL plugin")
done:
@@ -498,7 +498,7 @@ done:
/*---------------------------------------------------------------------------
- * Function: H5VL__daosm_term
+ * Function: H5VL_daosm_term
*
* Purpose: Shut down the DAOS-M VOL
*
@@ -507,12 +507,12 @@ done:
*---------------------------------------------------------------------------
*/
static herr_t
-H5VL__daosm_term(void)
+H5VL_daosm_term(hid_t H5_ATTR_UNUSED vtpl_id)
{
int ret;
herr_t ret_value = SUCCEED;
- FUNC_ENTER_STATIC
+ FUNC_ENTER_NOAPI_NOINIT
if(H5VL_DAOSM_g >= 0) {
/* Disconnect from pool */
@@ -525,15 +525,14 @@ H5VL__daosm_term(void)
/* Terminate DAOS */
(void)daos_fini();
- /* Unregister VOL plugin */
- if(H5Idec_ref(H5VL_DAOSM_g) < 0)
- HGOTO_ERROR(H5E_VOL, H5E_CLOSEERROR, FAIL, "can't unregister DAOS-M VOL plugin")
+ /* "Forget" plugin id. This should normally be called by the library
+ * when it is closing the id, so no need to close it here. */
H5VL_DAOSM_g = -1;
} /* end if */
done:
FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5VL__daosm_term() */
+} /* end H5VL_daosm_term() */
/*-------------------------------------------------------------------------