The background is in this question of mine. Put shortly, I have to fork
in a multithreaded C++ program, so I'd like to figure out how much I can do when restricted to reentrant functions only, and one of the most essential things is dynamic memory.
So, malloc
is known to be non-reentrant. But what about C++'s new
? I googled for that with not many relevant results (mostly due to the difficulty to hit the correct "new"), but there is at least one claim that new
is reentrant. There is also a relevant question concerning the whole C++ standard library with no satisfying answer.
Edit: I guess the standard didn't say anything about this, so I'm mostly concerned about major implementations.