add one-shot signal handler; add SignalSynced