#include <stdio.h>
#include <signal.h>
int alarmFlag = 0; /* Global alarm flag */
void alarmHandler (); /* Forward declaration of alarm handler */
/***************************************************************/
main ()
{
signal (SIGALRM, alarmHandler); /* Install signal handler */
alarm (3); /* Schedule an alarm signal in three seconds */
printf ("Looping...\n");
while (!alarmFlag) /* Loop until flag set */
{
pause (); /* Wait for a signal */
}
printf ("Loop ends due to alarm signal\n");
}
/***************************************************************/
void alarmHandler ()
{
printf ("An alarm clock signal was received\n");
alarmFlag = 1;
}
a me nella VM di fedora questo rimane in loop infinito invece dovrebbe terminare dopo 3 secondi
non so perché, ma su debian virtualizzato funziona perfettamente. ora non so se sia colpa di fedora o delle impostazioni di virtualizzazione (su fedora ho attivato l'accelerazione hardware, 4 core, pae e pagine nidificate per avere performance migliori), fatto sta che ora funziona
per debian non ho attivato il multicore, il pae, l'accelerazione hw della cpu e le pagine nidificate, dubito inoltre che sia colpa di fedora... probabilmente sarà colpa di una delle opzioni di virtualbox
cmq già che ci siamo: sai mica come leggere la '&' come parametro del main quando lancio un processo da terminale?
es:
gedit &
vorrei riuscire a leggere la '&' solo che non ci riesco :S
io voglio che la classica & per mandare il processo in background nel terminale, permettendo di usare così il terminale per lanciare altri processi, venga registrata o letta in qualche modo dal programma, ma a quanto pare non viene contata proprio come argomento.-.
vabbé, programmi a prova di idioti al 100% col C io non li so fare.
Scusa Alessio ma ieri sera poi mi sono addormentato .
Non ho però capito bene perché gli devi passare la & alla funzione gedit (l'hai presa solo come esempio oppure ti sei fatto tu una funzione gedit?). Spiega meglio
era solo un esempio. con la '&' il terminale continua ad essere utilizzabile, ma a quanto pare è un argomento che non viene passato al main del programma ma solo alla shell grafica..