digitalmars.D.learn - file locks
- llee <llee goucher.edu> Jul 30 2008
- BCS <ao pathlink.com> Jul 30 2008
- Sean Kelly <sean invisibleduck.org> Jul 30 2008
- "Koroskin Denis" <2korden gmail.com> Jul 30 2008
- llee <llee goucher.edu> Jul 30 2008
- Rakan Alhneiti <rakan.alhneiti nospam.gmail.com> Jul 30 2008
Is there any way to lock a file in D. I'm writing an application that needs to support concurrent access to a file, and would like to lock the file during write operations to prevent other process instances from reading invalid data.
Jul 30 2008
Reply to llee,Is there any way to lock a file in D. I'm writing an application that needs to support concurrent access to a file, and would like to lock the file during write operations to prevent other process instances from reading invalid data.
there may be some D library calls to do it (I haven't seen one, or looked) but if there isn't, you can always fall back on however you would do it in C.
Jul 30 2008
BCS wrote:Reply to llee,Is there any way to lock a file in D. I'm writing an application that needs to support concurrent access to a file, and would like to lock the file during write operations to prevent other process instances from reading invalid data.
there may be some D library calls to do it (I haven't seen one, or looked) but if there isn't, you can always fall back on however you would do it in C.
On POSIX systems, file locking is purely cooperative. There is no way to prevent users from opening your file if they so choose. For this reason, I consider file locking largely useless beyond the scope of how a specific application behaves with respect to files it controls. Sean
Jul 30 2008
On Wed, 30 Jul 2008 20:14:59 +0400, llee <llee goucher.edu> wrote:Is there any way to lock a file in D. I'm writing an application that needs to support concurrent access to a file, and would like to lock the file during write operations to prevent other process instances from reading invalid data.
In Tango, when you create a FileConduit you specify a Share attribute that affects concurrent file access policy: enum Share : ubyte { None=0, /// no sharing Read, /// shared reading ReadWrite, /// open for anything } Is it what are you looking for?
Jul 30 2008
Koroskin Denis Wrote:On Wed, 30 Jul 2008 20:14:59 +0400, llee <llee goucher.edu> wrote:Is there any way to lock a file in D. I'm writing an application that needs to support concurrent access to a file, and would like to lock the file during write operations to prevent other process instances from reading invalid data.
In Tango, when you create a FileConduit you specify a Share attribute that affects concurrent file access policy: enum Share : ubyte { None=0, /// no sharing Read, /// shared reading ReadWrite, /// open for anything } Is it what are you looking for?
Looks good, but I'm using Phobos.
Jul 30 2008
llee wrote:Koroskin Denis Wrote:On Wed, 30 Jul 2008 20:14:59 +0400, llee <llee goucher.edu> wrote:Is there any way to lock a file in D. I'm writing an application that needs to support concurrent access to a file, and would like to lock the file during write operations to prevent other process instances from reading invalid data.
affects concurrent file access policy: enum Share : ubyte { None=0, /// no sharing Read, /// shared reading ReadWrite, /// open for anything } Is it what are you looking for?
Looks good, but I'm using Phobos.
being opened. it displays "Already in use" message. i wrote a program to lock files in vb6 years ago and it worked. Dont know about Linux and it's behavior on such thing
Jul 30 2008









Sean Kelly <sean invisibleduck.org> 