Hallo, Am Don, 12 Nov 2009, Heinz Diehl schrieb:
On 12.11.2009, David Haller wrote:
Habe nicht in den Quellcode gesehen, aber es sieht so aus, wie wenn diese Datei nach dem Loeschen neu angelegt werden wuerde.
Aber warum? Denn wir haben die ja schon offen. Achso, evtl. gabs zwischendrin ein 'close', das loggt installwatch wohl nicht.
Den Ausgaben wuerde ich keinen Meter weit trauen. Mir ist auch nicht ersichtlich, warum. Erst werden geoeffnete Dateien geloescht,
Das ist absolut sinnvoll bei temporären Dateien. Dann kann nämlich kein anderes Programm mehr darauf zugreifen, und wenn die Datei gecshlossen wird oder das Programm beendet wird, dann ist die Datei automatisch "aufgeräumt".
dann neu angelegt bei geoeffnetem filehandle (laut Ausgaben des Programmes, technisch gesehen ist das unmoeglich).
Wie gesagt: close loggt installwatch nicht mit, da für seine Zwecke uninteressant (hab grad mal in den Quellcode geschaut).
Naja, wenn jemand das Programm gut findet und mal den Quellcode ansehen wuerde..
vi oder vim? Das sind viele. Installwatch: hab ich mir vor längerem angeschaut, da werden einfach nur die zu loggenden Funktionen (z.B. open) nach folgendem Schema ersetzt: ==== static int (*true_open)(const char *, int, ...); [..] true_open = dlsym(libc_handle, "open"); [..] int open(const char *pathname, int flags, ...) { [..] result=true_open(instw.path,flags,mode); [..] if(flags & (O_WRONLY | O_RDWR)) log("%d\topen\t%s\t#%s\n",result,instw.reslvpath,error(result)); [..] } ==== Was vi/vim da macht ist also ok, da das close fehlt. HTH, -dnh -- Hey, I can be a jerk to people I haven't slept with. I am that good. -- Dr. House -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org