[Kumpf-general] PID e timeout
Status: Beta
Brought to you by:
iz0ayv
|
From: Gabriele A. <gab...@em...> - 2003-05-06 22:31:44
|
Questa e' la prima mail della mailing list :) Per il momento e' italiana dato che siamo tutti italiani..in futuro vedremo. Tempo fa Marco mi ha fatto notare che se lo stesso processo fa 2 read() a distanza di piu' di mezz'ora una dall'altra la prima e' ok ma la seconda fallisce perche' la password e' scaduta. In questi giorni ho provato a fixare il problema tenendo un track di tutti i PID "autorizzati" a leggere un determinato "fd" ma sono giunto alla conclusione ce farlo file per file e' molto complicato. Ho provato a tenere un db dei PID e degli fd che avevano aperto, ed aggiornarlo ad ogni open() e ogni close(); il problema e' che non sempre un processo scrive su un file e poi fa close(fd), ma qualche volta prima fa la close e poi ci scrive sopra con un meccanismo subdolo ma noto: la dup2(). Infatti si apre un file, si fa dup2() con stdout e si chiude il file, kumpf pensa che quel PID non puo' fare piu' scritture sul file ma sbaglia, xche ora le scritture avverranno tramite stdout...c'ho messo un bel po' a capire questa cosa. Sto lavorando intanto ad altre migliorie..il codice in cvs non e' aggornatissimo perche' non sono molto pratico di cvs quindi per non fare troppi casini sto lavorando con un cvs locale, appena mi sento pratico a sufficienza lavoro con quello di sourceforge cosi' chi e' interessato puo' dare un occhio al codice in development. A presto G. |