diff options
author | Quincey Koziol <koziol@lbl.gov> | 2020-12-01 19:20:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-01 19:20:05 (GMT) |
commit | 3e61010340b7b545f434e3b39dbb56337f8803b5 (patch) | |
tree | db16a6276a41cfa9d6f8c7be0d74f2b02dff038d /src/H5Sselect.c | |
parent | adf7b1d4cf788f25a52619f5d1c957ac5a7c345c (diff) | |
download | hdf5-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.c | 31 |
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. |