mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
2007-02-21 Ulrich Drepper <drepper@redhat.com>
[BZ #3458] * sysdeps/unix/sysv/linux/posix_madvise.c: New file. * sysdeps/unix/sysv/linux/syscalls.list: Remove posix_madvise entry.
This commit is contained in:
parent
d5e842bacf
commit
eb612ee573
@ -1,3 +1,9 @@
|
||||
2007-02-21 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #3458]
|
||||
* sysdeps/unix/sysv/linux/posix_madvise.c: New file.
|
||||
* sysdeps/unix/sysv/linux/syscalls.list: Remove posix_madvise entry.
|
||||
|
||||
2007-02-17 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #3842]
|
||||
|
38
sysdeps/unix/sysv/linux/posix_madvise.c
Normal file
38
sysdeps/unix/sysv/linux/posix_madvise.c
Normal file
@ -0,0 +1,38 @@
|
||||
/* Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
|
||||
int
|
||||
posix_madvise (void *addr, size_t len, int advice)
|
||||
{
|
||||
/* We have one problem: the kernel's MADV_DONTNEED does not
|
||||
correspond to POSIX's POSIX_MADV_DONTNEED. The former simply
|
||||
discards changes made to the memory without writing it back to
|
||||
disk, if this would be necessary. The POSIX behavior does not
|
||||
allow this. There is no functionality mapping the POSIX behavior
|
||||
so far so we ignore that advice for now. */
|
||||
if (advice == POSIX_MADV_DONTNEED)
|
||||
return 0;
|
||||
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
int result = INTERNAL_SYSCALL (madvise, err, 3, addr, len, advice);
|
||||
return INTERNAL_SYSCALL_ERRNO (result, err);
|
||||
}
|
@ -31,7 +31,6 @@ ioperm - ioperm i:iii ioperm
|
||||
iopl - iopl i:i iopl
|
||||
klogctl EXTRA syslog i:isi klogctl
|
||||
lchown - lchown i:sii __lchown lchown
|
||||
posix_madvise - madvise Vi:pii posix_madvise
|
||||
madvise - madvise i:pii madvise
|
||||
mincore - mincore i:anV mincore
|
||||
mlock - mlock i:bn mlock
|
||||
|
Loading…
Reference in New Issue
Block a user