SS_FLAG_TERMINATE_WATCHDOG
atomic_and_32(&ss->ss_flags, ~SS_FLAG_TERMINATE_WATCHDOG);
atomic_or_32(&ss->ss_flags, SS_FLAG_TERMINATE_WATCHDOG);
atomic_or_32(&ss->ss_flags, SS_FLAG_TERMINATE_WATCHDOG);
while ((ss->ss_flags & SS_FLAG_TERMINATE_WATCHDOG) == 0) {
while ((ss->ss_flags & SS_FLAG_TERMINATE_WATCHDOG) == 0) {
ss->ss_flags &= ~SS_FLAG_TERMINATE_WATCHDOG;
ss->ss_flags |= SS_FLAG_TERMINATE_WATCHDOG;
ss->ss_flags |= SS_FLAG_TERMINATE_WATCHDOG;
while (!(ss->ss_flags & SS_FLAG_TERMINATE_WATCHDOG)) {