dnl AC_CHECK_UCONTEXT: Check whether ucontext are working
dnl Most of the code is stolen from the GNU pth autoconf macros by
-dnl Ralf S. Engelschall. As
+dnl Ralf S. Engelschall.
dnl # ``"Reuse an expert's code" is the right
dnl # advice for most people. But it's a useless
dnl # advice for the experts writing the code
if (arg != (void *)12345)
exit(1);
if (swapcontext(&uc_child, &uc_main) != 0)
- exit(1);
+ exit(2);
}
int main(int argc, char *argv[])
/* the default is that it fails */
if ((fp = fopen("conftestval", "w")) == NULL)
- exit(1);
+ exit(3);
fprintf(fp, "no\n");
fclose(fp);
/* configure a child user-space context */
if ((stack = malloc(64*1024)) == NULL)
- exit(1);
+ exit(4);
if (getcontext(&uc_child) != 0)
- exit(1);
+ exit(5);
uc_child.uc_link = NULL;
uc_child.uc_stack.ss_sp = (char *)stack+(32*1024);
uc_child.uc_stack.ss_size = 32*1024;
/* switch into the user context */
if (swapcontext(&uc_main, &uc_child) != 0)
- exit(1);
+ exit(6);
/* Fine, child came home */
if ((fp = fopen("conftestval", "w")) == NULL)
- exit(1);
+ exit(7);
fprintf(fp, "yes\n");
fclose(fp);