#include #include #include #define SEMKEY 75 int semid; struct sembuf psembuf; main() { int fd; semid=semget(SEMKEY,1,0777); psembuf.sem_num=0; psembuf.sem_op=-1; psembuf.sem_flg=SEM_UNDO; printf("Ora viene invocata la P() di dijkstra. Attendere prego ...\n"); semop(semid,&psembuf,1); //invoco la P() di Dijkstra if ((fd=open("file,dat",1))==-1) fd=creat("file.dat"); write(fd,"file aggiornato dal programma sem3\n",38); close(fd); printf("Effettuati gli aggiornamenti sul file -file.dat-\n"); psembuf.sem_op=1; semop(semid,&psembuf,1); }