/* * Rutinele de blocare si deblocare a fisierului folosind apelul * sistem creat() */ #include extern int errno; #define FISBLOCAJ "fis.blocaj" my_lock(fd) int fd; { int tempfd; /* * Incearca sa creeze un fisier temporar, care sa aiba toate * cele trei drepturi de scriere interzise. Daca exista deja * un astfel de fisier, atunci creat() va esua */ while ((tempfd = creat(FISBLOCAJ, 0)) < 0) { if (errno != EACCES) err_sys("Eroare la creat"); sleep(1); } close(tempfd); } my_unlock(fd) int fd; { if (unlink(FISBLOCAJ) < 0) err_sys("Nu se poate debloca"); }