Originariamente inviato da YuYevon
Praticamente no, tra l'altro l'argomento dell'handler è la costante intera associata al segnale stesso per il quale lo installi, non un valore che puoi scegliere tu. Chiediti piuttosto se hai davvero bisogno di dover passare un parametro al gestore o se ne puoi fare a meno; se proprio devi, ricorri ad una variabile globale utilizzandola con accortezza.
Grazie mille per la risposta! Ho seguito il tuo consiglio e ho utilizzato alcune variabili globali.

Ho un altro problemino, non creo un altro thread per non infestare il forum di mie richieste:
ho un ciclo con all'interno un input con scanf e vorrei che il ciclo si interrompesse non appena premo CTRL+C. Il problema è che il programma resta comunque in attesa di input dalla scanf e solo successivamente esce:

signal(SIGINT,handler);
...
while(flag)
scanf(..); //si blocca qui
...
void handler(){
flag=0;
}