Forum: FreePascal
by Uwe Raabe,
31. Mär 2014
Der Test war jetzt mit XE3.
Das BeginRead, ja!
Forum: FreePascal
by Uwe Raabe,
30. Mär 2014
Das sehe ich anders! Das BeginWrite entfernt zunächst den eigenen ReadLock, bevor es auf die Freigabe der anderen ReadLocks wartet. Das erlaubt dem Thread mit dem ersten BeginRead mit seinem BeginWrite durchzukommen. Dieses CodeSite-Log zeigt, daß es funktioniert:
Forum: FreePascal
by Uwe Raabe,
30. Mär 2014
Eigentlich sollte ein Thread mit einem offenen BeginRead ohne Probleme ein zweites Mal durch das BeginRead laufen, auch wenn ein anderer Thread im BeginWrite wartet. Zumindest unter XE3 (gerade offen) lese ich das aus den Sourcen. Zu Turbo Delphi, wie in deinem Profil angegeben, kann ich leider nichts sagen.
Es ist auch nicht schwer - allenfalls etwas länglich - einen entsprechenden, einfachen...