废话少说,贴两个函数,加入到你的项目中,能用。
#include <fcntl.h>
int g_file_lock_wait(int fd, int start, int len)
{
struct flock lock;
lock.l_type = F_WRLCK;
lock.l_whence = SEEK_SET;
lock.l_start = start;
lock.l_len = len;
if (fcntl(fd, F_SETLKW, &lock) == -1)
{
return 0;
}
return 1;
}
int g_file_unlock(int fd,int start,int len){
struct flock lock;
lock.l_type = F_UNLCK;
lock.l_whence = SEEK_SET;
lock.l_start = start;
lock.l_len = len;
if (fcntl(fd, F_SETLK, &lock) == -1)
{
return 0;
}
return 1;
}