【发布时间】:2011-06-14 04:32:37
【问题描述】:
Android NDK 缺少 lockf() 函数。 当我使用 Android NDK 编译 CUPS 时,错误来自缺少 lockf()。 因此需要为 NDK 创建类似于 lockf() 的函数。 请帮助我创建这样的功能。
我们将不胜感激。
PS:我是菜鸟
【问题讨论】:
标签: android file locking android-ndk cups
Android NDK 缺少 lockf() 函数。 当我使用 Android NDK 编译 CUPS 时,错误来自缺少 lockf()。 因此需要为 NDK 创建类似于 lockf() 的函数。 请帮助我创建这样的功能。
我们将不胜感激。
PS:我是菜鸟
【问题讨论】:
标签: android file locking android-ndk cups
这是其他 Google 产品的处理方式
// 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
【讨论】:
即使你实现了 lockf() 你仍然会遇到一些问题,因为 Android 有一个受限的权限管理。通常,两个进程不会都对同一目录具有读/写权限。我的意思是,您没有目录可以放置要锁定的文件。
【讨论】: