Thread safety of alloca

dsimcha dsimcha at yahoo.com
Sat Oct 24 17:34:24 PDT 2009


Does anyone know if alloca() is by some chance not thread safe?  I'm working
on improving my parallelization library and I keep running into all kinds of
erratic behavior (but not stack overflows) when I use alloca() instead of heap
as an optimization, but when I disable this optimization, everything seems to
work.  I do know that several threads are likely calling alloca() at the same
time and with requests large enough that their stacks might need to be expanded.

At first, I thought this was just a symptom of a subtle race condition, but I
tried inserting sleep statements and synchronized blocks in various places
around the alloca() calls to change the timing of things and the conclusion is
the same:  malloc() works, alloca() doesn't.



More information about the Digitalmars-d mailing list