more or less safe SIGINT handler