Hugo Graumann <graumann@ucalgary.ca> [2002-09-04 17:15:14 -0600]: > 2) There is a system call to lock a file or parts of a file. In the > Stevens book "Advanced Programming for the Unix Environment" there > is a whole section on file locking including a c program to lock files. > If locking is working this program runs without error. If locking does > not work, It reports some weird message. I can send you the code if you > want. The program is about 70 lines long, so I am not sure if I can > post it to the list. It exists on the net, also. I found it in a gnome > mailing list where Havoc Pennington posted it in response to a gnome > file locking problem. A google search on "NFS file locking gnome" might > be how I stumbled on it. Additionally perl, ruby, etc. scripts can call the C library file lock routines. Here is a perl script which can test out the rpc.lockd functionality. I wrote this script for that reason but I was not having the trouble on linux but other OS's. This is a simple and brute force check. Bob #!/usr/bin/perl use Fcntl ':flock'; # import LOCK_* constants print("Just before opening file.\n"); open(LOCKFILE,">testlockfile") or die "Error: Could not write to lock file: testlockfile: $!\n"; print("Just before locking file.\n"); flock(LOCKFILE,LOCK_EX); print("Just before unlocking file.\n"); flock(LOCKFILE,LOCK_UN); print("All done. File locked and unlocked.\n"); unlink("testlockfile"); exit(0);
Attachment:
pgplHKwTv5z6E.pgp
Description: PGP signature