[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getrlimit( RLIMIT_STACK, ... )



Chris Herborth writes:
> What you wrote:
> > Seems like you are on the wrong track. The kernel does not know
> > anything about _stksize :-( (It does not even load the symbol tables)
> 
> I realized that this morning; I was reading the MiNTlibs startup code,
> not the MiNT kernel code.
> 
> > The global variable _stksize is just a feature of the MiNT Libs to
> > determine the size of the stack a program initialization. Also it is
> > quite tricky to determine the actual maximum size of the stack, as
> > there are configurations where the heap and the stack share the same
> > memory (heap growing up and stack growing down), so your maxmimum size
> > would change dynamically, depending on your current heap usage.
> 
> _stksize is the stack size limit though, when it's not negative or 0,
> right?
> 
> > Actually RLIMIT_STACK makes sense in an environment where the stack
> > can grow dynamically. Un*x operating systems use virtual memory to
> > initialize the stack pointer to some high point in memory and just add
> > VM pages to the process while the stack is growing down. RLIMIT_STACK
> > just gives you a way to stop the stack from growing indefinitely.
> 
> The app I'm porting (elk) doesn't actually want to limit the stack, it's
> just querying the size.
> 
> -- 
> ----------========================================================----------
> Chris Herborth, R&D Technical Writer       Arcane  Dragon     chrish@qnx.com
> QNX Software Systems, Ltd.                  -==(UDIC)==-         |||  JAGUAR
> http://www.qnx.com/~chrish/                     DNRC            / | \ 64-bit
>