diff -r e5618cc85d74 -r 6c158198356e javamanager/javacaptain/src/tickerproviderinterface.h --- a/javamanager/javacaptain/src/tickerproviderinterface.h Thu Jul 15 18:31:06 2010 +0300 +++ b/javamanager/javacaptain/src/tickerproviderinterface.h Thu Aug 19 09:48:13 2010 +0300 @@ -64,6 +64,19 @@ // Helpers /** * Returns milliseconds from EPOCH. + * This can be overridden with the platform specific implementation. Use case for + * overriding is that in some platforms gettimeofday implementation can't handle + * correctly times after 2038. + * @param[in] - + * @return - milliseconds from EPOCH in success, -1 if fails + */ + virtual long long getPlatformCurrentJavaTime() + { + return -1LL; + } + + /** + * Returns milliseconds from EPOCH. * @param[in] - * @return - milliseconds from EPOCH in success, -1 if fails */ @@ -73,7 +86,8 @@ int err = gettimeofday(&tim, NULL); if (-1 == err) { - return -1LL; + WLOG(EJavaCaptain, "getCurrentJavaTime: gettimeofday returned -1"); + return getPlatformCurrentJavaTime(); } return (tim.tv_sec * 1000LL) +