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/


Raspunde prin e-mail lui