[ILUG] [OT] perl: file locking with flock

From: Kathryn Cassidy (hellbunnie at domain irelands-web.ie)
Date: Mon 28 Feb 2000 - 16:02:54 GMT


Agh! I've got a wee script here which is meant to put an exclusive lock on
a file, wait for a minute, then release the lock. It goes something like
this:

    open LOCKED, '>>oqq.inc';

        $result=flock(LOCKED, LOCK_EX);

        if ($result == 0) {
                sleep 60;
                flock(LOCKED, LOCK_UN);
        }
        else {
                print "bugger";
        }

    close(LOCKED);
   

Now, I'm having a bit of a problem here as it appears that I can run two
instances of this script simultaneously with no problems. This suggests
that more than one process is able to put an exclusive lock on the file.
Now, maybe I don't understand file locking as well as I thought I did, but
surely the whole point of an exclusive lock is that it's exclusive?

Anyone want to tell me what I'm doing wrong?



This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:05:30 GMT