#!/bin/sh # Synchronize system time with hardware time. # TODO: Split NTP handling to its own hook. Having it here is ugly and silly. # Do modern kernels handle this correctly? If so, we should detect that # and skip this hook. . "${PM_FUNCTIONS}" NTPD_LOCK="pm-ntpd.lock" suspend_clock() { if try_lock "${NTPD_LOCK}"; then trap 'release_lock "${NTPD_LOCK}"' 0 stopservice ntpd fi /sbin/hwclock --systohc >/dev/null 2>&1 0<&1 } resume_clock() { /sbin/hwclock --hctosys >/dev/null 2>&1 0<&1 rc=$? # Bring back ntpd _after_ NetworkManager and such come back... ( spin_lock "${NTPD_LOCK}"; trap 'release_lock "${NTPD_LOCK}"' 0 sleep 20; restartservice ntpd; ) & return $rc } case "$1" in hibernate|suspend) suspend_clock ;; thaw|resume) resume_clock ;; *) exit $NA ;; esac