[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
Re: locking of files
Hi Vinu,
It dows work in Linux and i have tried some sample programs too.
Did you lseek to the right position before locking the record / file ?
Also u can try flock where u can be certain about the type of lock u can
obtain ( Exclusive lock )
#include <stdio.h>
#include <fcntl.h>
void main()
{
int fd;
int a;
fd = open("abcd",1);
lseek(fd,0,0);
a = lockf(fd,F_TEST,0);
a = lockf(fd,F_LOCK,0L);
perror("lockf");
write(fd,"mahesh",6);
sleep(2);
a = lockf(fd,F_ULOCK,0);
close(fd);
}
run this program with ./a.out & ./a.out & ./a.out & ....
and u will see that the first process gets the lock and the other process
gets permission denied ....
regards
- Mahesh
mahesh@xxxxxxx
~
"lock.c" 22L, 278C
----- Original Message -----
From: Linux List <linux-prog@xxxxxxxxx>
To: <linux-india-programmers@xxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, July 19, 2000 11:53 AM
Subject: [LIP] locking of files
> hi all,
> Tried locking of files in linux.
> I used the function lockf(fd,F_LOCK,0L);
> I am not able to lock.Has someone tried it out.Is
> there a error in the program or some compatibility(of
> the lockf system call) problems with linux.
> vinu
>
> -----------------------------------------------------------------------
> The LIP mailing list archives are available at:
> http://lists.linux-india.org/cgi-bin/wilma/linux-india-programmers
>