Check out this C++ program: // #include <iostream> #define _XOPEN_SOURCE 1 #include <ucontext.h> int main () { printf("sizeof(ucontext_t) -> %ld\n", sizeof(ucontext_t)); } On my machine, it prints "768" (big ol' CPU). But, if I uncomment "#include <iostream>" and recompile, it prints "56". In practice, this makes getcontext() and the like overrun ucontext_t structs and stomp on other memory. If I define _XOPEN_SOURCE *before* I include iostream, ucontext_t is the right size. What's going on here? _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.app... This email sent to site_archiver@lists.apple.com