Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add H5FD_http_finalize function and call on hdf5 finalize #2827

Merged
merged 2 commits into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions libhdf5/H5FDhttp.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,31 @@ H5FD_http_init(void)
return H5FD_HTTP_g;
} /* end H5FD_http_init() */


/*-------------------------------------------------------------------------
* Function: H5FD_http_finalize
*
* Purpose: Free this driver by unregistering the driver with the
* library.
*
* Returns: Non-negative on success or negative on failure
*
* Programmer: John Donoghue
* Tuesday, December 12, 2023
*
*-------------------------------------------------------------------------
*/
EXTERNL hid_t
H5FD_http_finalize(void)
{
/* Reset VFL ID */
if (H5FD_HTTP_g)
H5FDunregister(H5FD_HTTP_g);
H5FD_HTTP_g = 0;

return H5FD_HTTP_g;
} /* end H5FD_http_finalize() */


/*---------------------------------------------------------------------------
* Function: H5FD_http_term
Expand All @@ -256,9 +281,6 @@ H5FD_http_init(void)
static herr_t
H5FD_http_term(void)
{
/* Reset VFL ID */
H5FD_HTTP_g = 0;

return 0;
} /* end H5FD_http_term() */
#endif
Expand Down
2 changes: 2 additions & 0 deletions libhdf5/H5FDhttp.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@ extern "C" {

#if 0
H5_DLL hid_t H5FD_http_init(void);
H5_DLL hid_t H5FD_http_finalize(void);
H5_DLL herr_t H5Pset_fapl_http(hid_t fapl_id);
#else
EXTERNL hid_t H5FD_http_init(void);
EXTERNL hid_t H5FD_http_finalize(void);
EXTERNL herr_t H5Pset_fapl_http(hid_t fapl_id);
#endif

Expand Down
3 changes: 3 additions & 0 deletions libhdf5/hdf5dispatch.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,9 @@ NC_HDF5_initialize(void)
int
NC_HDF5_finalize(void)
{
#ifdef ENABLE_BYTERANGE
(void)H5FD_http_finalize();
#endif
(void)nc4_hdf5_finalize();
return NC_NOERR;
}
Loading