From d0b304b9560fd79e9a9b70b1c6fb6f880f121ff8 Mon Sep 17 00:00:00 2001 From: Bang Jun-Young Date: Fri, 14 Dec 2001 22:47:45 +0000 Subject: [PATCH] Make use of solaris_try_mmap() for NetBSD. Rename it to try_mmap_fixed() since it's no longer Solaris-specific. --- library/port.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/library/port.c b/library/port.c index aa0ddf06611..b6157b540bf 100644 --- a/library/port.c +++ b/library/port.c @@ -40,7 +40,9 @@ #ifdef HAVE_LIBUTIL_H # include #endif - +#ifdef HAVE_STDINT_H +# include +#endif /*********************************************************************** * usleep @@ -397,9 +399,9 @@ int getrlimit (int resource, struct rlimit *rlim) #endif /* HAVE_GETRLIMIT */ -#ifdef __svr4__ +#if defined(__svr4__) || defined(__NetBSD__) /*********************************************************************** - * solaris_try_mmap + * try_mmap_fixed * * The purpose of this routine is to emulate the behaviour of * the Linux mmap() routine if a non-NULL address is passed, @@ -415,8 +417,8 @@ int getrlimit (int resource, struct rlimit *rlim) * address range is still available, and placing the mapping there * using MAP_FIXED if so. */ -static int solaris_try_mmap (void *addr, size_t len, int prot, int flags, - int fildes, off_t off) +static int try_mmap_fixed (void *addr, size_t len, int prot, int flags, + int fildes, off_t off) { char * volatile result = NULL; int pagesize = getpagesize(); @@ -442,7 +444,7 @@ static int solaris_try_mmap (void *addr, size_t len, int prot, int flags, if ( (pid = vfork()) == -1 ) { - perror("solaris_try_mmap: vfork"); + perror("try_mmap_fixed: vfork"); exit(1); } if ( pid == 0 ) @@ -508,8 +510,8 @@ void *wine_anon_mmap( void *start, size_t size, int prot, int flags ) flags |= MAP_PRIVATE; #endif -#ifdef __svr4__ - if ( solaris_try_mmap( start, size, prot, flags, fdzero, 0 ) ) +#if defined(__svr4__) || defined(__NetBSD__) + if ( try_mmap_fixed( start, size, prot, flags, fdzero, 0 ) ) return start; #endif