Salve! Devo creare un programmino che legga da file il n° di operazioni da fare e le operazioni stesse e poi le faccia eseguire da diversi processi. (ES file
3
12+5
16+7
0+1)
Avevo creato in passato il codice qui sotto per passare messaggi da un processo padre al figlio, è giusto utilizzarlo anche in questo contensto? come posso fare per leggere invece che da input dal file, e soprattutto leggere riga per riga? :( Devo usare la funzione open?
(devo fare tutto tramite le system call)
3
12+5
16+7
0+1)
Avevo creato in passato il codice qui sotto per passare messaggi da un processo padre al figlio, è giusto utilizzarlo anche in questo contensto? come posso fare per leggere invece che da input dal file, e soprattutto leggere riga per riga? :( Devo usare la funzione open?
(devo fare tutto tramite le system call)
Codice:
//leggo le stringhe e le metto nella coda
void produttore (int ds_coda){
msg messaggio;
puts("Inserisci il messaggio da inviare o QUIT per terminare.");
do {
scanf("%s", messaggio.mtext);
messaggio.mtype = 1;
ris = msgsnd(ds_coda, &messaggio, DIM, IPC_NOWAIT);
if (ris == -1){
puts("Errore nella f. msgsnd.");
exit(1);
}
printf("Inviato messaggio: %s\n", messaggio.mtext);
} while ((strcmp(messaggio.mtext, "QUIT") != 0));
exit(0);
}