summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fortran/src/H5_ff.f9040
-rw-r--r--release_docs/RELEASE.txt7
2 files changed, 18 insertions, 29 deletions
diff --git a/fortran/src/H5_ff.f90 b/fortran/src/H5_ff.f90
index 99a82bd..96d9eed 100644
--- a/fortran/src/H5_ff.f90
+++ b/fortran/src/H5_ff.f90
@@ -49,7 +49,7 @@ CONTAINS
! h5open_f
!
! PURPOSE
-! Initializes the HDF5 library and Fortran90 interface.
+! Initializes HDF5 Fortran interface.
!
! Outputs:
! error - Returns 0 if successful and -1 if fails
@@ -63,26 +63,17 @@ CONTAINS
! called C functions (it is needed for Windows
! port). February 28, 2001
!
+! Removed call to h5open_c since this may cause a problem for an
+! application that uses HDF5 library outside HDF5 Fortran APIs.
+! October 13, 2011
! Fortran90 Interface:
SUBROUTINE h5open_f(error)
USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
- INTEGER :: error_0, error_1, error_2, error_3
+ INTEGER :: error_1, error_2, error_3
-! INTEGER, EXTERNAL :: h5init_types_c
-! INTEGER, EXTERNAL :: h5init_flags_c
-! INTEGER, EXTERNAL :: h5init1_flags_c
-! INTEGER, EXTERNAL :: h5open_c
-
- INTERFACE
- INTEGER FUNCTION h5open_c()
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OPEN_C'::h5open_c
- !DEC$ENDIF
- END FUNCTION h5open_c
- END INTERFACE
INTERFACE
INTEGER FUNCTION h5init_types_c(p_types, f_types, i_types)
USE H5GLOBAL
@@ -144,7 +135,6 @@ CONTAINS
!DEC$ENDIF
END FUNCTION h5init1_flags_c
END INTERFACE
- error_0 = h5open_c()
error_1 = h5init_types_c(predef_types, floating_types, integer_types)
error_2 = h5init_flags_c(H5D_flags, &
H5E_flags, &
@@ -164,7 +154,7 @@ CONTAINS
H5Z_flags, &
H5generic_flags)
error_3 = h5init1_flags_c(H5LIB_flags )
- error = error_0 + error_1 + error_2 + error_3
+ error = error_1 + error_2 + error_3
END SUBROUTINE h5open_f
!****s* H5LIB/h5close_f
@@ -173,7 +163,7 @@ CONTAINS
! h5close_f
!
! PURPOSE
-! Closes the HDF5 library and Fortran90 interface.
+! Closes HDF5 Fortran interface.
!
! Outputs:
! error - Returns 0 if successful and -1 if fails
@@ -187,21 +177,16 @@ CONTAINS
! called C functions (it is needed for Windows
! port). February 28, 2001
!
+! Removed call to h5close_c since this may cause a problem for an
+! application that uses HDF5 library outside HDF5 Fortran APIs.
+! October 13, 2011
! Fortran90 Interface:
SUBROUTINE h5close_f(error)
USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
- INTEGER :: error_1, error_2
- ! INTEGER, EXTERNAL :: h5close_types_c, h5close_c
- INTERFACE
- INTEGER FUNCTION h5close_c()
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5CLOSE_C'::h5close_c
- !DEC$ENDIF
- END FUNCTION h5close_c
- END INTERFACE
+ INTEGER :: error_1
INTERFACE
INTEGER FUNCTION h5close_types_c(p_types, P_TYPES_LEN, &
f_types, F_TYPES_LEN, &
@@ -221,8 +206,7 @@ CONTAINS
error_1 = h5close_types_c(predef_types, PREDEF_TYPES_LEN, &
floating_types, FLOATING_TYPES_LEN, &
integer_types, INTEGER_TYPES_LEN )
- error_2 = h5close_c()
- error = error_1 + error_2
+ error = error_1
END SUBROUTINE h5close_f
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index cac8e6a..1de76b1 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -768,7 +768,12 @@ Bug Fixes since HDF5-1.8.0 release
F90 APIs
--------
-
+ - Modified the h5open_f and h5close_f subroutines to not to call H5open
+ and H5close correspodningly. While the H5open call just adds overhead,
+ the H5close call called by an Fortran application shuts down the HDF5
+ library making it unaccessible to the application.
+ HDFFV-915 (EIP & SB - 2011/10/13)
+
C++ APIs
--------