On Mon, 2003-03-17 at 19:58, Bogdan Marinca wrote: > Salut. > Cum imi dau seama (printr'o functie in C, sau in alta maniera) ca un fisier > nu are nici un descriptor asociat deschis cu O_WRONLY sau O_RDWR de catre un proces > la un anumit moment de timp? > > Ideea este ca am 2 procese, unul creeaza sau modifica fisiere iar altul le > prelucreaza > (deci lucreaza cu ele doar cu O_RDONLY setat). Procesele lucreaza concurent. As vrea > o solutie > pentru ca procesul care prelucreaza fisierul sa faca acest lucru *numai* dupa ce si > ultimul byte > a fost scris in el de catre procesul care scrie (adica sa nu lucreze cu fisiere > incomplete). > > Multumesc frumos.
Daca poti interveni asupra ambelor programe foloseste advisory locks in C. Merge excelent. Daca nu poti interveni asupra reader-ului, poti incerca sa folosesti mandatory locks (vezi fcntl). Parca citisem de kernelele moderne ca suporta mandatory locks. Advisory locking este cea mai eleganta dintre solutii. Bafta. georgeb -- George Barbarosie <[EMAIL PROTECTED]> intelinet.ro SRL -- Pentru dezabonare, trimiteti mail la [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'. REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
