Module: wine Branch: master Commit: 1b8d9e03a9efe9744456e64d6381a2762a22103c URL: http://source.winehq.org/git/wine.git/?a=commit;h=1b8d9e03a9efe9744456e64d63...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Sep 21 10:43:45 2007 +0200
loader: Set the address space limit before starting the preloader.
---
loader/glibc.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/loader/glibc.c b/loader/glibc.c index f4d2f9c..28a8d19 100644 --- a/loader/glibc.c +++ b/loader/glibc.c @@ -27,6 +27,9 @@ #ifdef HAVE_SYS_MMAN_H # include <sys/mman.h> #endif +#ifdef HAVE_SYS_RESOURCE_H +# include <sys/resource.h> +#endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif @@ -97,6 +100,18 @@ static void check_vmsplit( void *stack ) } }
+static void set_max_limit( int limit ) +{ + struct rlimit rlimit; + + if (!getrlimit( limit, &rlimit )) + { + rlimit.rlim_cur = rlimit.rlim_max; + setrlimit( limit, &rlimit ); + } +} + + /********************************************************************** * main */ @@ -108,6 +123,9 @@ int main( int argc, char *argv[] )
wine_init_argv0_path( new_argv0 );
+ /* set the address space limit before starting the preloader */ + set_max_limit( RLIMIT_AS ); + if (loader) { /* update WINELOADER with the new name */