summaryrefslogtreecommitdiffstats
path: root/src/H5Sselect.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@lbl.gov>2020-12-01 19:20:05 (GMT)
committerGitHub <noreply@github.com>2020-12-01 19:20:05 (GMT)
commit3e61010340b7b545f434e3b39dbb56337f8803b5 (patch)
treedb16a6276a41cfa9d6f8c7be0d74f2b02dff038d /src/H5Sselect.c
parentadf7b1d4cf788f25a52619f5d1c957ac5a7c345c (diff)
downloadhdf5-3e61010340b7b545f434e3b39dbb56337f8803b5.zip
hdf5-3e61010340b7b545f434e3b39dbb56337f8803b5.tar.gz
hdf5-3e61010340b7b545f434e3b39dbb56337f8803b5.tar.bz2
Expand ID dec_ref and close callbacks to allow for asynchronous close operations (#135)
* Expand ID dec_ref and close callbacks to allow for asynchronous close operations. * Fix typo * Rename token -> request, remove programmer name * H5E_ATOM to H5E_ID
Diffstat (limited to 'src/H5Sselect.c')
-rw-r--r--src/H5Sselect.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/H5Sselect.c b/src/H5Sselect.c
index f1a6fc1..b3f63b0 100644
--- a/src/H5Sselect.c
+++ b/src/H5Sselect.c
@@ -3140,6 +3140,37 @@ done:
} /* end H5Ssel_iter_reset() */
/*-------------------------------------------------------------------------
+ * Function: H5S__sel_iter_close_cb
+ *
+ * Purpose: Called when the ref count reaches zero on a selection iterator's ID
+ *
+ * Return: Non-negative on success / Negative on failure
+ *
+ * Programmer: Quincey Koziol
+ * Wednesday, April 8, 2020
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5S__sel_iter_close_cb(H5S_sel_iter_t *_sel_iter, void H5_ATTR_UNUSED **request)
+{
+ H5S_sel_iter_t *sel_iter = (H5S_sel_iter_t *)_sel_iter; /* The selection iterator to close */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_PACKAGE
+
+ /* Sanity check */
+ HDassert(sel_iter);
+
+ /* Close the selection iterator object */
+ if (H5S_sel_iter_close(sel_iter) < 0)
+ HGOTO_ERROR(H5E_DATASPACE, H5E_CLOSEERROR, FAIL, "unable to close selection iterator");
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5S__sel_iter_close_cb() */
+
+/*-------------------------------------------------------------------------
* Function: H5S_sel_iter_close
*
* Purpose: Releases a dataspace selection iterator and its memory.