Fedora su VM e alarm() signal ignorato

Sistemi operativi Linux e software open source
Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Fedora su VM e alarm() signal ignorato

Messaggio da Alessio89 »

E' possibile che Fedora, o che il fatto che giri su virtual machine, faccia ignorare del tutto la chiamata c posix alarm()?

Per fare un esempio pratico:

Codice: Seleziona tutto

#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 :|

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Fedora su VM e alarm() signal ignorato

Messaggio da Alessio89 »

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 :hmm:

Avatar utente
conoscenza
Messaggi: 3821
Iscritto il: venerdì 2 dicembre 2011, 23:27
Località: Parma

Re: Fedora su VM e alarm() signal ignorato

Messaggio da conoscenza »

...non saprei dirti...
bene che vada...
Sono allergico a mele morsicate e a finestre con tende.

Segnalate qui le vostre offerte di smartphone e tablet!!!

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Fedora su VM e alarm() signal ignorato

Messaggio da Alessio89 »

male invece, ci ho messo un'intera giornata a capire perché non andava :\

Avatar utente
conoscenza
Messaggi: 3821
Iscritto il: venerdì 2 dicembre 2011, 23:27
Località: Parma

Re: Fedora su VM e alarm() signal ignorato

Messaggio da conoscenza »

e alla fine l'hai capito?
Il sistema host è lo stesso per Fedora e Debian?
Sono allergico a mele morsicate e a finestre con tende.

Segnalate qui le vostre offerte di smartphone e tablet!!!

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Fedora su VM e alarm() signal ignorato

Messaggio da Alessio89 »

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

Avatar utente
conoscenza
Messaggi: 3821
Iscritto il: venerdì 2 dicembre 2011, 23:27
Località: Parma

Re: Fedora su VM e alarm() signal ignorato

Messaggio da conoscenza »

hai provato con il quoting?
cosa ti servirebbe esattamente?

esempio:
gedit \& : quoting singolo carattere
gedit "&" : quoting debole
gedit '&' : quoting forte
Sono allergico a mele morsicate e a finestre con tende.

Segnalate qui le vostre offerte di smartphone e tablet!!!

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Fedora su VM e alarm() signal ignorato

Messaggio da Alessio89 »

no no

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.

Avatar utente
dino
Messaggi: 16580
Iscritto il: mercoledì 30 novembre 2011, 18:21

Re: Fedora su VM e alarm() signal ignorato

Messaggio da dino »

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 ;)
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: Fedora su VM e alarm() signal ignorato

Messaggio da Alessio89 »

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..

Rispondi