18) Come è possibile da parte del server gestire eventi multipli durante l’attesa?
Il server attende le RPC all'interno dell’ svc_run(), ma il processo bloccato potrebbe svolgere altre attività durante l'attesa.Per eseguire il periodico aggiornamento di strutture dati si può impiegare di un segnale di tipo ALARM per sbloccare la svc_run() ed eseguire il gestore del segnale. Il gestore risponde all'evento ad ogni invocazione
Se si vogliono usare I/O e file descriptor bisogna modificare l’svc_run() (che è una procedura e non una primitiva)
Per la gestione di eventi di I/O si definisce una funzione da chiamare al posto di svc_run() in cui la maschera passata alla primitiva select() contenga una serie di file descriptor. A tal fine si utilizzano:
la variabile globale svc_fdset che riporta alcuni file descriptor legati alle RPC, da utilizzare con la select.
la procedura svc_getreqset, che termina solo se i servizi sono stati tutti soddisfatti .