Domanda [C] Comunicazione processi su file condiviso

allround

Utente Iron
18 Luglio 2021
1
1
0
5
Salve, io dovrei realizzare un programma in cui due processi comunicano tramite file condiviso, quindi uno scrive e l’altro legge in loop. Però per la sincronizzazione come dovrei fare? Ho provato a mettere il lettore in pause() e far fare una kill con un segnale di tipo sigusr allo scrittore quando finisce di scrivere così da inviare al lettore il segnale e sbloccarlo. Funziona però ogni tanto il lettore non si sblocca e quindi non trovo corrispondenza tra valori letti e scritti perché mi salta.
 
lato scrittura, utilizza fwrite e fflush subito dopo ,
lato lettura, leggi in loop, e dopo ogni fread sincronizza con,
Codice:
fseek(f, 0L, SEEK_CUR);