diff -r 35baca0e7a2e -r 023eef975703 javamanager/javacaptain/src/tickerproviderinterface.h --- a/javamanager/javacaptain/src/tickerproviderinterface.h Tue Jul 06 20:36:19 2010 +0300 +++ b/javamanager/javacaptain/src/tickerproviderinterface.h Fri Jul 09 16:35:45 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) +