Hacker News new | ask | show | jobs
by towergratis 1828 days ago
The root cause is the same
2 comments

How is it "the same"? If the evaluations of the individual arguments can't overlap, then the C example's problem still exists while the C++ example's problem doesn't. And if the order of evaluation were guaranteed but the evaluations could overlap, the C example wouldn't have a problem but the C++ example still would. To me the two problem's causes seem quite different.
Well, except that C does not have exceptions (at least not in the way that C++ does).
longjmp for the win (or loss)!
Right, it has signals and almost no one ever bothers to test for EINTR.