On Tuesday 24 September 2002 11:19, Alex 'CAVE' Cernat wrote:
> 2. faci tu manual repozitionarea - poti s-o faci in felul urmator:
> inchizi primul fisier, faci rename, deschizi fisierul, incepi sa
> scrii de la 100k offset ( in unix poti sa faci asta, ca te lasa sa ai
> chiar gauri in fisier ), urmand ca apoi, cand ai cicli de masina
> liberi, sa copiezi ce vrei din vechiul fisier, oricum 100k nu e
> foarte mult, deci in principiu poti copia direct fara deprecierea
> performantelor, dar depinde foarte mult cat output produce programul
> copil
   Cam aceasta este solutia pe care as vrea sa o abordez. Pana acum m-am 
incurcat in O_APPEND si m-am cam pacalit. Problema este ca daca inchid 
din parinte fisierul, el ramane deschis in fiu. rename doar va muta 
referinta din file-system, deci fiul va continua sa scrie in fisierul 
redenumit. Din pacate aici fii nu pot colabora pentru ca ei stiu doar 
stdout si stderr - si nu pot evita asta. 
    Ma gandeam sa folosesc mandatory locks. Teoretic, as putea sa fortez 
un blocaj si write-ul copilului sa se blocheze cat detin eu blocajul. 
Dar in afara de Documentation/mandatory.txt nu am reusit sa gasesc 
nimic sugestiv :(. Si pe acolo nu spune foarte clar daca ai dreptul sau 
nu sa blochezi un writer care deschisese anterior lock-ului fisierul. 
De fapt exista ceva specificatii mai clare cu comportamentul 
file-descriptorilor la fork? :(

-- 
Dorin Lazar, programmer
Registered Linux user #162515

---
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