xref: /freebsd/lib/libc/gen/pmadvise.c (revision 559a218c9b257775fb249b67945fe4a05b7a6b9f)
108f82591SGarrett Wollman /*
208f82591SGarrett Wollman  * The contents of this file are in the public domain.
308f82591SGarrett Wollman  * Written by Garrett A. Wollman, 2000-10-07.
408f82591SGarrett Wollman  *
508f82591SGarrett Wollman  */
608f82591SGarrett Wollman 
708f82591SGarrett Wollman #include <sys/mman.h>
8*49d39308SKonstantin Belousov #include <errno.h>
908f82591SGarrett Wollman 
1008f82591SGarrett Wollman int
posix_madvise(void * address,size_t size,int how)11662d85d6SBruce M Simpson posix_madvise(void *address, size_t size, int how)
1208f82591SGarrett Wollman {
13*49d39308SKonstantin Belousov 	int ret, saved_errno;
14*49d39308SKonstantin Belousov 
15*49d39308SKonstantin Belousov 	saved_errno = errno;
16*49d39308SKonstantin Belousov 	if (madvise(address, size, how) == -1) {
17*49d39308SKonstantin Belousov 		ret = errno;
18*49d39308SKonstantin Belousov 		errno = saved_errno;
19*49d39308SKonstantin Belousov 	} else {
20*49d39308SKonstantin Belousov 		ret = 0;
21*49d39308SKonstantin Belousov 	}
22*49d39308SKonstantin Belousov 	return (ret);
2308f82591SGarrett Wollman }
24