|
![](/i/fill.gif) |
On Mon, 12 Nov 2001 20:48:44 +0100, Thorsten Froehlich wrote:
> In article <slr### [at] fwi com> , Ron Parker
><ron### [at] povray org> wrote:
>
>> Nope, a Win32 stack has a "reserve" size and a "commit" size. The loader
>> allocates address space for the "reserve" size, but it only actually maps
>> memory for the "commit" size. It then marks the page just below the
>> commit as Not Present and waits for it to fault. When it faults, the OS
>> maps another page into the address space
>
> But it cannot shrink the stack this way. So once you have a stack that is
> i.e. 100 MB you have to restart the application. I think the same problem
> exists under Unix. Unless, of course, you have a system function to shrink
> the stack "manually".
Threads.
Each thread has its own stack allocation. Kill the render thread and
restart it, and the stack allocation starts over at the "commit" size again.
--
#macro R(L P)sphere{L __}cylinder{L P __}#end#macro P(_1)union{R(z+_ z)R(-z _-z)
R(_-z*3_+z)torus{1__ clipped_by{plane{_ 0}}}translate z+_1}#end#macro S(_)9-(_1-
_)*(_1-_)#end#macro Z(_1 _ __)union{P(_)P(-_)R(y-z-1_)translate.1*_1-y*8pigment{
rgb<S(7)S(5)S(3)>}}#if(_1)Z(_1-__,_,__)#end#end Z(10x*-2,.2)camera{rotate x*90}
Post a reply to this message
|
![](/i/fill.gif) |