为Android NDK实现lockf()

时间:2011-06-14 04:32:37

标签: android file locking android-ndk cups

Android NDK缺少lockf()函数。 当我使用Android NDK编译CUPS时,错误来自缺少lockf()。 因此,需要为NDK创建类似于lockf()的函数。 请帮我创建这样的功能。

任何帮助都将受到高度赞赏。

PS:我是个菜鸟

2 个答案:

答案 0 :(得分:1)

这是另一个谷歌产品处理它的方式

// The lockf() function is not available on Android; we translate to flock().
#define F_LOCK LOCK_EX
#define F_ULOCK LOCK_UN
inline int lockf(int fd, int cmd, off_t ignored_len) {
    return flock(fd, cmd);
}

https://src.chromium.org/svn/branches/1312/src/base/os_compat_android.h

答案 1 :(得分:0)

即使您实现了lockf(),使用它仍然会遇到一些问题,因为Android具有受限制的权限管理。通常,两个进程都不会对同一目录具有读/写权限。我的意思是,你没有目录可以将这个文件锁定。