Cioe' ti servirebbe catturare il segnale SIGUSR1 per gestirlo in maniera "particolare" ? Hai provato ad utilizzare la funzione sigaction(...) anziche' la signal(...) ?Originariamente inviato da mr.smile
Ok...devo creare un programma che gestista dei messaggi scritti dagli utenti... una cosa molto rudimentale. C'è un programma demone che ascolta delle richieste da parte di due programmi invia e ricevi.
Il demone è implementato con:
- coda di messaggi che permette di gestire tramite le funzioni msgrcv e msgsnd l'invio e la ricezione dei messaggi
- Memoria condivisa - un array dove ogni indice contiene un messaggio
- Semafori per la sincronizzazione.
il metodo msgrcv entra in loop e aspetta fino a quando non riceve un messaggio di una certa tipologia da msgsnd...
Per questa parte sono a posto... il problema è che implemento anche altri metodi per deallocare le risorse... se chiamo una "signal" con il tipo SIGUSR1 la msgrcv esce dal loop e magicamente smette di attendere in ricezione!
Mi chiedo c'è un metodo per impedire questo?????
Sul man non lo trovo...
Non sono convinto ancora di essermi spiegato bene...

Rispondi quotando