diff --git a/src/libCom/osi/os/posix/osdTime.cpp b/src/libCom/osi/os/posix/osdTime.cpp index cca141183..62c4ba504 100644 --- a/src/libCom/osi/os/posix/osdTime.cpp +++ b/src/libCom/osi/os/posix/osdTime.cpp @@ -14,7 +14,10 @@ // extern "C" epicsShareFunc int epicsShareAPI tsStampGetCurrent (TS_STAMP *pDest) { -# if defined(CLOCK_REALTIME) + +// Under HP-UX CLOCK_REALTIME is part of an enum + +# if defined(CLOCK_REALTIME) || (defined(HP_UX) && defined(_INCLUDE_POSIX4_SOURCE)) struct timespec ts; int status; @@ -22,6 +25,7 @@ extern "C" epicsShareFunc int epicsShareAPI tsStampGetCurrent (TS_STAMP *pDest) if (status) { return tsStampERROR; } + *pDest = osiTime (ts); return tsStampOK; # else diff --git a/src/libCom/osi/os/posix/osdTime.h b/src/libCom/osi/os/posix/osdTime.h index 53685db6e..58642a83a 100644 --- a/src/libCom/osi/os/posix/osdTime.h +++ b/src/libCom/osi/os/posix/osdTime.h @@ -15,12 +15,15 @@ * Solaris has it at ISO POSIX-1c so we will start from there, * but may need to fine tune this */ + +#ifndef HP_UX #if _POSIX_VERSION < 199506L struct timespec { time_t tv_sec; /* seconds since some epoch */ long tv_nsec; /* nanoseconds within the second */ }; #endif /* if _POSIX_VERSION < 199506L */ +#endif /* ifndef HP_UX */ #endif /* ifndef osdTimeh */