From 1df973b234cf59d369b9e6929e97cbd191ddf718 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 15 Jun 2022 14:10:55 -0500 Subject: [PATCH] VxWorks: Provide osdClockReport() for OS clock sync tasks. --- modules/libcom/src/osi/os/vxWorks/osdTime.cpp | 14 ++++++++++++++ modules/libcom/src/osi/os/vxWorks/osdTime.h | 2 ++ modules/libcom/src/osi/osiClockTime.c | 5 ++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/modules/libcom/src/osi/os/vxWorks/osdTime.cpp b/modules/libcom/src/osi/os/vxWorks/osdTime.cpp index 132daf51f..29f7475db 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdTime.cpp +++ b/modules/libcom/src/osi/os/vxWorks/osdTime.cpp @@ -120,6 +120,20 @@ void osdNTPReport(void) printf("NTP Server = %s\n", pserverAddr); } +void osdClockReport(void) +{ + const char * ntpTask; + + if (taskNameToId(sntp_sync_task) != ERROR) + ntpTask = sntp_sync_task; + else if (taskNameToId(ntp_daemon) != ERROR) + ntpTask = ntp_daemon; + else { + printf("No VxWorks OS clock sync tasks are running\n"); + return; + } + printf("VxWorks OS clock sync task '%s' is running\n", ntpTask); +} // Other Time Routines diff --git a/modules/libcom/src/osi/os/vxWorks/osdTime.h b/modules/libcom/src/osi/os/vxWorks/osdTime.h index 56e35610e..b529eb855 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdTime.h +++ b/modules/libcom/src/osi/os/vxWorks/osdTime.h @@ -23,9 +23,11 @@ extern "C" { void osdNTPInit(void); int osdNTPGet(struct timespec *); void osdNTPReport(void); +void osdClockReport(void); #define osdTickRateGet sysClkRateGet #define osdTickGet tickGet +#define osdClockReport osdClockReport #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/osiClockTime.c b/modules/libcom/src/osi/osiClockTime.c index 8b9dfd77b..f0d9fb457 100644 --- a/modules/libcom/src/osi/osiClockTime.c +++ b/modules/libcom/src/osi/osiClockTime.c @@ -292,7 +292,10 @@ int ClockTime_Report(int level) epicsTimeToStrftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S.%06f", &ClockTimePvt.startTime); printf("Program started at %s\n", timebuf); - printf("OS Clock synchronization thread not running.\n"); + printf("OS Clock synchronization thread is not running.\n"); } +#ifdef osdClockReport + osdClockReport(); +#endif return 0; }