UPDATE: prevent multiple syscall restarts

calling "sys_sigsuspend(-ERESTARTNOHAND, 0, 0)"
    with two signals coming and being handled in kernel space results
    in the syscall restart being done twice.

    Avoid this by clearing the 'why' flag when we call the signal handling
    code to prevent further syscall restarts after the first.