Final fix to the SIGALRM problem. My previous attempt at installing a restarting
signal handler was correct but incomplete (only worked on some platforms).