#include <signal.h>
#include <stdio.h>
void catchCtrlC(int pSig)
{
// Potrebbe non essere necessario, dipende dal S.O.
// ------------------------------------------------
signal(SIGINT, catchCtrlC);
/* Codice per la gestione del Ctrl-C */
}
int main(void)
{
// Installazione del gestore dei segnali
// -------------------------------------
signal(SIGINT, catchCtrlC);
/* Codice del programma */
return 0;
}
Il codice non e' esente da race condition, ma la gestione
degli interrupt dipende dal S.O.
HTH
C:\>iao Angelo
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
signal penso sia adatta a te:
--------------
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
--------------
intercetta i segnali che sono inviati al processo.
se stai programmando sotto linux, dai un bel:
man signal
ciao
--
Er Baitch
http://baitch.altervista.org/
-- Fortune of the day --
"I'd love to go out with you, but I never go out on days that end in
`Y.'"
>se stai programmando sotto linux, dai un bel:
>man signal
PURTROPPO lavoro sotto win :-(
> PURTROPPO lavoro sotto win :-(
Il tuo ambiente avra` pure un sistema di documentazione :))
> >se stai programmando sotto linux, dai un bel:
> >man signal
> PURTROPPO lavoro sotto win :-(
signal e' una funzione standard del "C", la sua implementazione e
il suo comportamento dipendono dal S.O.
SIGINT
e' uno dei segnali standard, e in una applicazione console corrisponde
a CTRL+C.
Se la tua applicazione e' a finestre, ho paura che la tecnica descritta
non funzioni.
In ogni caso in
signal.h
la signal() e' gia' prototipata, pertanto
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
nella migliore delle ipotesi e' inutile.