Bug #2586

Updated by msuraev almost 2 years ago

The code in @gprs_ns.c@ uses nsvc_timer_elapsed_ms() which relies on osmo_gettimeofday() wrapper around gettimeofday() which is affected by discontinuous jumps in the system time (e.g., if the system administrator manually changes the system time).

It's better to use monotonic clock via clock_gettime(CLOCK_MONOTONIC, ..) but this would requre replacing "@struct timeval@" with "@struct timespec@" for @timer_started@ in "@struct gprs_nsvc@". I'm not aware of any external extarnal users for this field but nevertheless we should properly change API/ABI version when doing so.

On a related note: we should carefully check all the uses of @osmo_gettimeofday()@ for elapsed time calculations and replace it with monotonic clock.


Add picture from clipboard (Maximum size: 48.8 MB)