From 11621c9c521f7d9fe5e090a06f469b5d41e6be17 Mon Sep 17 00:00:00 2001 From: Gabriel Moyano Date: Fri, 10 Jun 2022 11:05:46 +0200 Subject: kern_tc.c: Update pps_event() for uniprocessor configurations Since pps->capgen equal to zero is not a special value in uniprocessor configurations, there is no need to check for this condition. Update #2349 --- cpukit/score/src/kern_tc.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'cpukit/score') diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c index 92739d8edd..78d7fa1e3f 100644 --- a/cpukit/score/src/kern_tc.c +++ b/cpukit/score/src/kern_tc.c @@ -2138,9 +2138,11 @@ pps_capture(struct pps_state *pps) pps->capffth = fftimehands; #endif pps->capcount = th->th_counter->tc_get_timecount(th->th_counter); +#if defined(RTEMS_SMP) atomic_thread_fence_acq(); if (pps->capgen != th->th_generation) pps->capgen = 0; +#endif } void @@ -2165,7 +2167,11 @@ pps_event(struct pps_state *pps, int event) if ((event & pps->ppsparam.mode) == 0) return; /* If the timecounter was wound up underneath us, bail out. */ +#if defined(RTEMS_SMP) if (pps->capgen == 0 || pps->capgen != +#else + if (pps->capgen != +#endif atomic_load_acq_int(&pps->capth->th_generation)) return; -- cgit v1.2.3