This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: CreateFiber() : number of fibers limited



--- Dan Plimak <danp@systematik.co.nz> wrote: > On Sat, Jun 02, 2001 at
01:52:05PM +0200, Holger Vogt wrote:
> > Hi,
> > 
> > the number of fibers scheduled with CreateFiber() seems to be limited to
> > 53 in CYGWIN (62 after compiling with MINGW32).  This is what I get from
> > a test case with multiple CreateFiber() calls:
> > 
> > [...]
> 
> About the only thing that can cause CreateFiber() to fail is the inability
> to allocate a stack for the fiber. Code generated by different compilers may
> cause CreateFiber() to conk out after different amounts of stack
> allocations (and different amounts of memory hereby allocated).
> 
> Try lowering the stack size you're giving to CreateFiber(). Also,
> GetLastError() is your friend.
> 
> Anyhow, this most likely has nothing to do with Cygwin, but HTH.
> 
> Cheers,
> 
>   -- danp
> 
I too think the problem may  be stack depletion- but it does have soemthing to
do with gcc.

The default stack reserve set by gcc's ld for pe targets is a whopping
0x02000000 (32 MB).  By default, threads  inherit the stack reserve of the
calling thread, so that's 32 mb per thread.  Likewise fibers default to stack
reserve of the main thread.
Try specifying stack reserve to a reasonable value - say 1mb - when you create
fibers. 
Or set a different stacksize for process on command-line when building app.

Danny

_____________________________________________________________________________
http://messenger.yahoo.com.au - Yahoo! Messenger
- Voice chat, mail alerts, stock quotes and favourite news and lots more!

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]