Hallo pl,
ich komm gleich mit der Heißwasserbrause, um die Seife zu entfernen, mit der Du wegflutschen willst.
Wir reden hier nicht vom Interface Application -> Data Layer, sondern von der konkreten Implementierung des Layers für SQLite.
Und was hat der Einsatz einer Library mit der Nutzung eines bestimmten Betriebssystem-Mechanismus zu tun? Wie sorgt denn Fcntl dafür, dass zwei Prozesse nicht gleichzeitig auf eine Datei zugreifen können? Durch einen proprietären Mechanismus, der nur für Nutzer von Fcntl wirksam ist? Das wäre fatal - wenn ich den Zugriff auf eine Ressource serialisieren will, brauche ich eine zentrale Instanz, die die Serialisierung kontrolliert und die nicht umgangen werden kann. Das ist entweder ein Dienst (Daemon), ohne den kein Zugriff möglich ist und der die Sperre in-memory übernimmt, oder das Betriebssystem.
Der übliche Serialisierungsmechanismus für Dateien besteht aus File Locks. Auch Fcntl wird die nutzen.
Rolf
sumpsi - posui - obstruxi