am 5acd2d40: Merge "AArch64: Fix flock64 for LP64."

* commit '5acd2d40052c55255a346167e504afb884eeb3af':
  AArch64: Fix flock64 for LP64.
This commit is contained in:
Elliott Hughes 2014-04-08 19:29:29 +00:00 committed by Android Git Automerger
commit 91f4f586f3
2 changed files with 30 additions and 0 deletions

View File

@ -37,6 +37,20 @@
__BEGIN_DECLS
#ifdef __LP64__
/* LP64 kernels don't have flock64 because their flock is 64-bit. */
struct flock64 {
short l_type;
short l_whence;
off64_t l_start;
off64_t l_len;
pid_t l_pid;
};
#define F_GETLK64 F_GETLK
#define F_SETLK64 F_SETLK
#define F_SETLKW64 F_SETLKW
#endif
#ifndef O_ASYNC
#define O_ASYNC FASYNC
#endif

View File

@ -116,3 +116,19 @@ TEST(fcntl, fallocate) {
ASSERT_EQ(0, fstat(tf.fd, &sb));
ASSERT_EQ(4, sb.st_size);
}
TEST(fcntl, f_getlk64) {
int fd = open64("/proc/version", O_RDONLY);
ASSERT_TRUE(fd != -1);
struct flock64 check_lock;
check_lock.l_type = F_WRLCK;
check_lock.l_start = 0;
check_lock.l_whence = SEEK_SET;
check_lock.l_len = 0;
int rc = fcntl(fd, F_GETLK64, &check_lock);
ASSERT_EQ(0, rc);
close(fd);
}