Guude! (wie man in Hessen so grüßt)
Ich würde gern den Code aus
https://www.purebasic.fr/english/viewto ... hDirOrFile
verwenden und brauche dazu Hilfe beim Verständnis der Funktionen.
Ich möchte nicht alle Laufwerke (in meinem Fall 4) gleichzeitig überwachen, sondern immer nur das, das gerade "in meinem Fokus" ist, also von mir beobachtet/bearbeitet/sonstwas wird. Wenn ich also gerade auf Laufwerk D: "unterwegs bin", interessiert es mich gerade nicht, was auf den anderen Laufwerken passiert. Würde ich nach E: wechseln, interressiert D: gerade nicht mehr.
Ich würde daher bei jedem Laufwerkswechsel die Überwachung aufrufen. Was, wenn mehrfach das gleiche Laufwerk angesteuert wird? Wie wird die Überwachung für ein Laufwerk beendet?
Verzeichnisse überwachen
Verzeichnisse überwachen
Bin aktiv in der rentenvorbereitenden Arbeitslosigkeit - zwangsweise. Auch nach >30 Jahren im Betrieb springst Du über die Klinge, wenn der (Miss-)Manager seinen Hintern retten will. Lasst Euch von euren Arbeitgebern bloß nix von wegen Loyalität erzählen - wenn's drauf ankommt, ist die nix Wert!
Re: Verzeichnisse überwachen
Wenn Du die Threads nicht sauber beendest, wird die Überwachung mehrfach weiter laufen..
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: Verzeichnisse überwachen
Hi,
ja, das war so mein Verdacht. Jetzt würde mich interessieren, wie so ein Thread sauber beendet wird.
ja, das war so mein Verdacht. Jetzt würde mich interessieren, wie so ein Thread sauber beendet wird.
Bin aktiv in der rentenvorbereitenden Arbeitslosigkeit - zwangsweise. Auch nach >30 Jahren im Betrieb springst Du über die Klinge, wenn der (Miss-)Manager seinen Hintern retten will. Lasst Euch von euren Arbeitgebern bloß nix von wegen Loyalität erzählen - wenn's drauf ankommt, ist die nix Wert!
- NicTheQuick
- Ein Admin
- Beiträge: 8808
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Verzeichnisse überwachen
Ich würde wahrscheinlich in der Structure `Storage` ein weiteres Feld hinzufügen, z.B. "terminate.i" und es auf #True setzen, wenn sich der Thread beenden soll. Im Thread selbst muss man dann natürlich prüfen, ob `*Storage\terminate` gleich #True ist und ihn dann beenden. Da zwischendurch `CreateFile_` benutzt wird, sollte natürlich dieses Handle auch entsprechend invalidiert werden bevor der Thread beendet wird. In der Linux-Version sollte das selbe dann mit dem Handle von `inotify_init` und `inotify_add_watch` geschehen, aber auch mit `*ReadBuff`. Ich frage mich übrigens warum das da ein Long ist. Ich glaube nicht, dass das richtig ist.
Es sieht nebenbei auch so aus als ob da ein Fehler ist in dieser Zeile:
Dateinamen unter Linux sind UTF-8 und nicht ASCII. Ich glaube das ist da falsch, habe es aber nicht überprüft.
Es sieht nebenbei auch so aus als ob da ein Fehler ist in dieser Zeile:
Code: Alles auswählen
filename$ = PeekS(@*temp\name,-1,#PB_Ascii)