Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)

* commit '806f5b5b2a280072f62f58c48e93acdc84f2b3ae':
  Removed POSIX #defines from configure on Solaris.
  Fallback to older time functions in new timer code.
This commit is contained in:
Allen Byrne 2020-07-14 12:02:43 -05:00
commit 900e75544e
2 changed files with 8 additions and 29 deletions

View File

@ -1250,12 +1250,6 @@ case "$host_cpu-$host_vendor-$host_os" in
H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS"
;;
*solaris*)
## Solaris also needs _POSIX_C_SOURCE set correctly to pick up
## clock_gettime().
H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS"
H5_CPPFLAGS="-D_GNU_SOURCE $H5_CPPFLAGS"
;;
esac
## Need to add the AM_ and H5_ into CFLAGS/CPPFLAGS to make them visible

View File

@ -220,7 +220,8 @@ H5_now_usec(void)
*
* Purpose: Get the current time, as the time of seconds after the UNIX epoch
*
* Return: SUCCEED/FAIL
* Return: Success: A non-negative time value
* Failure: -1.0 (in theory, can't currently fail)
*
* Programmer: Quincey Koziol
* October 05, 2016
@ -247,9 +248,9 @@ H5_get_time(void)
HDgettimeofday(&now_tv, NULL);
ret_value = (double)now_tv.tv_sec + ((double)now_tv.tv_usec / (double)1000000.0f);
}
#else /* H5_HAVE_GETTIMEOFDAY */
#else
ret_value = (double)HDtime(NULL);
#endif /* H5_HAVE_GETTIMEOFDAY */
#endif
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5_get_time() */
@ -279,9 +280,9 @@ H5__timer_get_timevals(H5_timevals_t *times /*in,out*/)
/* Windows call handles both system/user and elapsed times */
#ifdef H5_HAVE_WIN32_API
if(H5_get_win32_times(times) < 0) {
times->elapsed = -1;
times->system = -1;
times->user = -1;
times->elapsed = -1.0;
times->system = -1.0;
times->user = -1.0;
return -1;
} /* end if */
@ -310,24 +311,8 @@ H5__timer_get_timevals(H5_timevals_t *times /*in,out*/)
* Elapsed time *
****************/
/* NOTE: Not having a way to get elapsed time IS an error, unlike
* the system and user times.
*/
times->elapsed = H5_get_time();
#if defined(H5_HAVE_CLOCK_GETTIME)
{
struct timespec ts;
if(HDclock_gettime(CLOCK_MONOTONIC, &ts) != 0)
return -1;
times->elapsed = (double)ts.tv_sec + ((double)ts.tv_nsec / (double)1.0E9F);
}
#else
/* Die here. We'd like to know about this so we can support some
* other time functionality.
*/
HDassert(0);
#endif
#endif /* H5_HAVE_WIN32_API */
return 0;