View Full Version : Scrivere in tanti in un PIPE
Marco2000
09-05-2003, 18:28
Sto usando C e ho l'esigenza di poter mandare messaggi da N processi "client" ad un processo "server" utilizzando UN solo file pipe, mi chiedevo come fosse possibile evitare che + processi che contemporaneamente provino a scrivere sul pipe ci riescano in modo da garantire una muta esclusione al fine di evitare di avere informazioni inconsistenti.
Grazie mille !
Marco2000
09-05-2003, 19:32
come si implementa una mutex in C ? :D
Originally posted by "Marco2000"
come si implementa una mutex in C ? :D
Dipende dal sistema operativo... Quale usi ?
Marco2000
09-05-2003, 20:20
Linux
Dovrebbe esserci semaphores.h...
Purtroppo non posso essere pił preciso... Non ho mai programmato in questo modo con Linux...
Non hai bisogno di nessuna mutex. Le mutex si usano per implementare la gestione dei semafori nella sincronizzazione dei processi, ma sincronizzazione di processi a livello kernel, non a livello utente.
Hai parlato di pipe come "file", quindi presumibilmente stai usando una named pipe. Le named pipe hanno la caratteristica di gestire le operazioni read() e write() in modo atomico, quindi non hai bisogno di preoccuparti della loro sincronizzazione. Semplicemente forka quanti processi vuoi e falli leggere e scrivere. E' lo stessa sistema operativo che se ne occupa. Del resto le pipe si usano per avere una forma di IPC, quindi se ti dovessi pure occupare della sincronizzazione, staremmo freschi :D
Marco2000
12-05-2003, 17:40
Buono !
Grazie mille a tutti
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.