Make handle_signal() responsible for recording its own events.