<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Filelocking Problem]]></title><description><![CDATA[<p>hallo,</p>
<p>ich frage mich, wie ich mit den standard funktionen LockFile oder<br />
LockFileEx ein vernünftiges filelocking hinbekommen soll.</p>
<p>im prinzip möchte ich aus einer datei einen bereich lesen,<br />
diesen verändern und irgendwann zurückschreiben. während dieser<br />
zeit sollen alle anderen prozeße lesezugriff auf diesen bereich<br />
haben. dummerweise geht das aber nur mit LockFileEx. diese funktion<br />
wiederum bedingt aber ein UnlockFileEx, damit der eigene (!) prozeß<br />
dann den bereich wieder zurückschreiben kann ( war mir zwar nicht<br />
ganz klar, ist aber tatsächlich so ); bedeutet, daß theoretisch der<br />
bereich ja zwischen meinem unlock und meiner folgenden schreiboperation<br />
von einem anderen prozeß schon wieder verändert worden sein kann.</p>
<p>faq, msdn habe ich schon durchgeforstet, das scheint mir aber ein<br />
thema zu sein, wo es nicht allzuviele informationen gibt oder<br />
ich sehe den wald vor lauter bäumen nicht</p>
<p>vielleicht hat ja einer von Euch einen genialen tip<br />
tschüss Dieter</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81332/filelocking-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 14:22:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81332.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jul 2004 11:26:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Filelocking Problem on Fri, 30 Jul 2004 11:26:51 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich frage mich, wie ich mit den standard funktionen LockFile oder<br />
LockFileEx ein vernünftiges filelocking hinbekommen soll.</p>
<p>im prinzip möchte ich aus einer datei einen bereich lesen,<br />
diesen verändern und irgendwann zurückschreiben. während dieser<br />
zeit sollen alle anderen prozeße lesezugriff auf diesen bereich<br />
haben. dummerweise geht das aber nur mit LockFileEx. diese funktion<br />
wiederum bedingt aber ein UnlockFileEx, damit der eigene (!) prozeß<br />
dann den bereich wieder zurückschreiben kann ( war mir zwar nicht<br />
ganz klar, ist aber tatsächlich so ); bedeutet, daß theoretisch der<br />
bereich ja zwischen meinem unlock und meiner folgenden schreiboperation<br />
von einem anderen prozeß schon wieder verändert worden sein kann.</p>
<p>faq, msdn habe ich schon durchgeforstet, das scheint mir aber ein<br />
thema zu sein, wo es nicht allzuviele informationen gibt oder<br />
ich sehe den wald vor lauter bäumen nicht</p>
<p>vielleicht hat ja einer von Euch einen genialen tip<br />
tschüss Dieter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/571577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571577</guid><dc:creator><![CDATA[DieterPf]]></dc:creator><pubDate>Fri, 30 Jul 2004 11:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to Filelocking Problem on Fri, 30 Jul 2004 22:42:11 GMT]]></title><description><![CDATA[<p>Schaut so aus, als hättest du Recht (sofern es stimmt, dass du den Bereich nicht zweimal locken kannst - einmal für Schreiben, einmal für Lesen)</p>
<p>Im Moment seh ich auch nix brauchbares. Du kannst natürlich nach dem compare &amp; swap Prinzip arbeiten und vor dem Schreiben überprüfen, ob wer anderer was geändert hat, indem du den Inhalt mit dem ursprünglichen Inhalt vergleichst. Oder du machst eine Arbeitskopie, und die anderen können das ursprüngliche File ungehindert lesen. Ist zwar alles irgendwie hässlich, aber was besseres weiß ich auch nicht.</p>
<p>Wenn es allerdings ausschließlich deine eigenen Programme sind, die auf das File zugreifen, dann kannst du natürlich die Synchronisation auch über andere Mechanismen abwickeln und hast das Problem nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/571938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571938</guid><dc:creator><![CDATA[Ringding]]></dc:creator><pubDate>Fri, 30 Jul 2004 22:42:11 GMT</pubDate></item></channel></rss>