ciao a tutti....nel mio programma sono costretto ad usare una variabile globale. So che è sconsigliato usarle ma vi posso garantire che stavolta devo usarle per forza.
Comunque..il problema è il seguente:
Ho un main in cui diciamo modifico questa variabile globale. Dopo questa modifica chiamo la fork(). Quando sto nel caso del processo figlio (quindi if(pid==0)) rimodifico la variabile globale mettendo ovviamente un valore diverso da quello impostato precendentemente dal padre.
Adesso, quando il figlio termina, il padre stampa il valore della variabile globale. Il problema è che il valore stampato è quello che aveva impostato lui all'inizio e non quello impostato dal figlio. Chiaramente questa stampa avviene DOPO che il figlio ha terminato quindi abbiamo la certezza che il figlio ha fatto la sua modifica prima della stampa.
Ho quindi pensato che questo problema sia dovuto al fatto che il figlio lavora sulla sua copia della variabile globale. La domanda è: è possibile fare modificare al figlio la variabile globale in modo che il processo padre veda le modifiche fatte dal figlio?
spero di essere stato chiaro nella spiegazione del mio problema...CIAO A TUTTI