AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ist tDirectory Threadsicher?

Ein Thema von fisipjm · begonnen am 11. Aug 2025 · letzter Beitrag vom 11. Aug 2025
 
fisipjm

Registriert seit: 28. Okt 2013
350 Beiträge
 
Delphi 12 Athens
 
#1

Ist tDirectory Threadsicher?

  Alt Heute, 07:16
Hi,

mal eine etwas allgemeinere Frage:

Ist TDirectory.Delete threadsicher? Mal ganz davon abgesehen, wie es grundsätzlich damit aussieht einen Ordner zu löschen und dort nicht sich gegenseitig die Struktur weg zu ziehen, dieses Problems bin ich mir bewusst. Ich versuche das auch zu umgehen, indem ich erst prüfe ob der Ordner vorhanden ist, ihn dann umbenenne und dann erst lösche. Schließt das Risiko nicht zu 100% aus, aber minimiert es für mich auf ein akzeptables Mindestmaß.

Folgende Konstellation die ich nicht wirklich zum laufen bekomme. Mein Projekt wird als ISAPI DLL auf einem IIS laufen. Der erstellt mir für jede Request von einem neuen Benutzer/IP das Webmodule neu. Die DLL schreibt die Zugriffe in Logdateien in separierte Ordner. Ich möchte jetzt beim Erstellen des Webmoduls prüfen, ob ein Ordner mit der Bezeichnung Heutiges Datum minus X Tage existiert und wenn ja, dann möchte ich es löschen. Funktioniert auch Problemlos, solange ich das im Main-Thread laufen lasse. Das Problem das ich aber nun habe ist, dass dann der erste Abruf auf den Endpunkt nach dem Datumswechsel, genau so lange länger braucht wie der Ordner braucht um gelöscht zu werden. Das kann je nach Größe länger dauern. Das wollte ich vermeiden indem ich den Löschprozess in einen Thread werfe. Mit TTask.Run normalerweise keine große Sache, dachte ich. Aber dann funktioniert weder das Umbenenne noch das Löschen. Hab schon gedacht es liegt vielleicht daran, dass das Webmodul wieder freigegeben wird, also hab ich den Task in eine ITask Objekt gepackt und im Destroy des Webmoduls erst noch auf ein WaitAny geprüft. Hat leider auch nicht geholfen.

Habt ihr noch Ideen was es sein könnte?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz