FITXERS COMPARTITS ENTRE PROCESSOS. BLOQUEIG DE FITXERS.És possible que un procés, bloquegi un fitxer per llegir. Aleshores farà un bloqueig de lectura o bloqueig compartit: altres processos podran alhora bloquejar-lo per a llegir, encara que cap per a escriure. L'altra possibilitat és bloquejar per escriure. Haurà de ser un bloqueig d'escriptura o bloqueig exclusiu: cap més procés llegirà ni escriurà a l'arxiu. És clar que un arxiu només pot estar sotmès a un sol bloqueig d'aquest tipus. Una situació que es pot donar és que un procés bloquegi un arxiu i això provoqui un altre tipus de bloqueig: el d'un segon procés que s'esperi per a operar amb l'arxiu. BLOQUEIG DE TOT EL FITXER
operació pot prendre els següents valors:
Si va bé, flock retorna 0, si hi ha algun error, -1 (i errno contindrà el codi d'aquest error) El següent programa, bloqueja el fitxer que li passem com a primer paràmetre en mode exclusiu al llarg de 20 segons i després el desbloqueja. Executeu-lo en background i inmediatament en primer pla. Què succeirà si treiem LOCK_NB de la crida? BLOQUEIG D'UNA PART DEL FITXER
longitud són els bytes a bloquejar des de la posició actual del cursor. Si val 0, equival a bloquejar tot el fitxer. operació pot prendre els següents valors:
Si va bé, retorna 0, si hi ha algun error, -1 (i errno contindrà el codi d'aquest error). Modifica el programa anterior per practicar amb bloquejos d'una part del fitxer. |
Autor: Lluís València López
Aquesta obra està subjecta a una Llicència
de Creative Commons.