comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Suggestions on the use of lockfiles?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Suggestions on the use of lockfiles? [message #33922 is a reply to message #33919] Sun, 09 February 2003 12:08 Go to previous messageGo to previous message
rmoss4 is currently offline  rmoss4
Messages: 21
Registered: October 2002
Junior Member
There is probably 100 different ways to approach this, but I prefer to
start simple. Try this: when the lockfile is created, write some unique
identifier into the lock file (e.g. the host name of the machine doing
the locking). Just before you actually start writing the DB, confirm
that the first line in the lockfile corresponds to the machine that is
getting ready to alter the DB. If it does not, it can go back to the
wait loop.

Robert Moss, PhD
rmoss4@houston.rr.com

Jonathan Greenberg wrote:
> I am having some troubles using lockfiles to do simple database read/writes
> without getting a database corruption (I'm trying to hack my way around
> buying Dataminer):
>
> I have two or more computers running this code:
>
> dblockname is the name of the lockfile for the database
>
> ***
>
> while [program is still running] do begin
> ; Waits for the lockfile to not exist
> while (file_test(dblockname) eq 1) do begin
> wait,1
> endwhile
> ; Creates a lockfile
> openw,dblocklun,dblockname,/GET_LUN
> printf,dblocklun,''
> free_lun,dblocklun
>
> [gets the database, reads and writes to it]
> ; Deletes the lockfile, and returns to the top of the loop
> file_delete,dblockname
>
> endwhile
>
> ***
>
> The problem I'm having is that from time to time (depending on the speed of
> the database I/O), I'm getting errors where, and this is a guess, one
> computer manages to check for a nonexistant lockfile at the same time as
> another, and so both computers break out of the loop at the same time and
> start fooling around with the database at the same time. At the end,
> whichever computer deletes the lockfile first can reenter the loop, but the
> 2nd computer gets an error since the file was already deleted (and the
> database is likely to be corrupted at this point).
>
> Ideas? The astronomy lockfile procedures appear to be unix only, and I'm
> trying to design this for any platform (Windows, Mac, UNIX). Apparently I
> can openw the same file from two computers without error (I wish that I
> could override this fact). Help!
>
> --j
>
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Re: SQL access without Dataminer (perl off topic)
Next Topic: Interesting WHERE function gotcha

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 17 20:50:35 PDT 2025

Total time taken to generate the page: 0.01713 seconds