signal can be oneshot