if (sig == -1) {  exit(3); }
static void interrupted (int sig) {	exit_sig = sig;	if (exit_flag) {		exit_flag++;		if (use_threads) {			usleep2(250 * 1000);		} else if (exit_flag <= 2) {			return;		}		exit(4);	}	exit_flag++;	if (sig == 0) {		fprintf(stderr, "caught X11 error:\n");	} else {		fprintf(stderr, "caught signal: %d\n", sig);	}	if (sig == SIGINT) {		shut_down = 1;		return;	}	X_UNLOCK;	/* remove the shm areas with quick=1: */	clean_shm(1);	/* X keyboard cleanups */	delete_added_keycodes();	if (clear_mods == 1) {		clear_modifiers(0);	} else if (clear_mods == 2) {		clear_keys();	}	if (no_autorepeat) {		autorepeat(1);	}	if (use_solid_bg) {		solid_bg(1);	}	if (sig) {		exit(2);	}}