Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
informatica:sol:laboratorio19:esercitazionib:esercitazione12 [21/05/2019 alle 05:57 (6 anni fa)] – Massimo Torquati | informatica:sol:laboratorio19:esercitazionib:esercitazione12 [21/05/2019 alle 06:41 (6 anni fa)] (versione attuale) – Massimo Torquati |
---|
| |
Realizzare l'Esercizio 2 dell'[[informatica:sol:laboratorio19:esercitazionib:esercitazione11|Esercitazione 11]] senza usare threads ma utilizzando la chiamata di sistema ''select'' per risolvere il non determinismo fra l'accettazione di nuove connessioni da parte dei client e la gestione delle richieste dei client gia' connessi. Gestire la terminazione del server a seguito della ricezione di un segnale (SIGINT, SIGQUIT, SIGTERM, SIGHUP, etc...) in modo da lasciare il sistema in uno stato consistente dopo la sua terminazione, cioè eliminare dal file system il socket AF_UNIX creato per accettare le connessioni, eventuali file temporanei e liberare la memoria allocata dinamicamente al fine di controllare eventuali memory leaks con ''valgrind''. | Realizzare l'Esercizio 2 dell'[[informatica:sol:laboratorio19:esercitazionib:esercitazione11|Esercitazione 11]] senza usare threads ma utilizzando la chiamata di sistema ''select'' per risolvere il non determinismo fra l'accettazione di nuove connessioni da parte dei client e la gestione delle richieste dei client gia' connessi. Gestire la terminazione del server a seguito della ricezione di un segnale (SIGINT, SIGQUIT, SIGTERM, SIGHUP, etc...) in modo da lasciare il sistema in uno stato consistente dopo la sua terminazione, cioè eliminare dal file system il socket AF_UNIX creato per accettare le connessioni, eventuali file temporanei e liberare la memoria allocata dinamicamente al fine di controllare eventuali memory leaks con ''valgrind''. |
| |
===== Esercizio 3 ===== | |
| |
Realizzare l'Esercizio 2 dell'[[informatica:sol:laboratorio19:esercitazionib:esercitazione11|Esercitazione 11]] con un pool di N threads (N e' un parametro del programma) secondo il modello //master-worker//, ossia esiste un thread "listener" connesso tramite una coda concorrente ad un pool di N worker threads. Il generico thread del pool gestisce interamente tutta la connessione verso un client connesso. | |
| |
| |