Реализация lockf () для Android NDK - PullRequest
1 голос
/ 14 июня 2011

В Android NDK отсутствует функция lockf (). Когда я компилировал CUPS с Android NDK, произошла ошибка отсутствия функции lockf (). Следовательно, для NDK необходимо создать функцию, аналогичную lockf (). Пожалуйста, помогите мне в создании такой функции.

Любая помощь будет высоко оценена.

PS: я нуб

Ответы [ 2 ]

1 голос
/ 11 июня 2014

Так обрабатывает другой продукт 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

0 голосов
/ 25 апреля 2012

Даже если вы реализуете lockf (), у вас все равно будут некоторые проблемы с его использованием, поскольку Android имеет ограниченное управление разрешениями. Как правило, два процесса не будут иметь права на чтение / запись в одном и том же каталоге. Я имею в виду, у вас нет каталога, чтобы разместить этот файл для блокировки.

...