1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

build: Add more assertions that fcntl locking works 64-bit

This commit is contained in:
Andrew Bartlett 2012-04-05 09:59:41 +10:00
parent 22d9450100
commit 0732311c80

View File

@ -62,7 +62,7 @@ int main(int argc, char *argv[])
lock.l_type = F_WRLCK;
lock.l_whence = SEEK_SET;
lock.l_start = 0;
lock.l_start = 0x100000000LL;
lock.l_len = 4;
lock.l_pid = getpid();
@ -92,16 +92,27 @@ int main(int argc, char *argv[])
lock.l_type = F_WRLCK;
lock.l_whence = SEEK_SET;
lock.l_start = 0;
lock.l_len = 4;
lock.l_len = 0x100000004LL;
lock.l_pid = getpid();
/* set a 4 byte write lock */
fcntl(fd,F_SETLK,&lock);
/* set a 100000004 byte write lock, should conflict with the above */
ret = fcntl(fd,F_SETLK,&lock);
sys_waitpid(pid, &status, 0);
unlink(DATA);
if (ret != 0) {
fprintf(stderr,"ERROR: failed to lock %s (errno=%d)\n",
DATA, (int)errno);
exit(1);
}
if (lock.l_len < 0x100000004LL) {
fprintf(stderr,"ERROR: settign lock overflowed\n");
exit(1);
}
#if defined(WIFEXITED) && defined(WEXITSTATUS)
if(WIFEXITED(status)) {
status = WEXITSTATUS(status);