Yuppi! Din fericire a fost mult mai simplu. Intr-adevar, la fork() se duplica si file-pointerul - pozitia curenta in fisier. Cu alte cuvinte solutia e banala: open (fara append, doar cu O_WRONLY) si lseek atunci cand e cazul...
On Tuesday 24 September 2002 14:04, Alex 'CAVE' Cernat wrote: > > Ma gandeam sa folosesc mandatory locks. Teoretic, as putea sa > > fortez > > un blocaj si write-ul copilului sa se blocheze cat detin eu > > blocajul. > > afaik unixul foloseste de obicei lockurile pe fisiere, in momentul in > care incerci sa deschizi sau sa faci lock pe el ( si ai mandatary sau > advisory, dupa preferinta ( primul iti blocheaza programul pana cand > poate deschide fisierul respectiv, al doilea trece mai departe, dar > iti semnaleaza ca nu a putut sa rezolve lock-ul ) ) > > in ceea ce priveste lock-ul la scrierea intr-un fisier dupa ce a fost > deschis nu prea cred ca ai cum, si lock-ul s-ar face de catre > programe printr-un mutex ( situatie clasica de acces la resursa > critica - he he eh ... cursu' de sisteme de operare ) > > iar kestia ca de fapt copilul continua sa scrie in fisier dupa > redenumire ... nu m-am gandit la ea, dar asa este, de obicei demonii > redeschid fisierul de log numai cand primesc un sighup ( sau un > graceful = sigchld? in cazul apacheului ), dar asta e deja o kestie > implementata in aplicatie > > Alex > --- > Pentru dezabonare, trimiteti mail la > [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'. > REGULI, arhive si alte informatii: http://www.lug.ro/mlist/ -- 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/