From e8ca9b8eb1caaa43703f6ce505af78c6e7b9e60b Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Wed, 16 Feb 2005 05:03:42 +0000 Subject: Add a patch from Paul Eggert that's been lying around in my directory for a long time, disabling stack size limits where possible. Update version to beta2. --- main.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'main.c') diff --git a/main.c b/main.c index 726729b..33c15b4 100644 --- a/main.c +++ b/main.c @@ -46,6 +46,14 @@ MA 02111-1307, USA. */ # include #endif +#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) +# define SET_STACK_SIZE +#endif + +#ifdef SET_STACK_SIZE +# include +#endif + #ifdef _AMIGA int __stack = 20000; /* Make sure we have 20K of stack space */ #endif @@ -881,6 +889,20 @@ main (int argc, char **argv, char **envp) no_default_sh_exe = 1; #endif +#ifdef SET_STACK_SIZE + /* Get rid of any avoidable limit on stack size. */ + { + struct rlimit rlim; + + /* Set the stack limit huge so that alloca does not fail. */ + if (getrlimit (RLIMIT_STACK, &rlim) == 0) + { + rlim.rlim_cur = rlim.rlim_max; + setrlimit (RLIMIT_STACK, &rlim); + } + } +#endif + /* Needed for OS/2 */ initialize_main(&argc, &argv); -- cgit v1.2.3