X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/88c3069468fdbf586cdcc972e4e3a47f5d11bca0..1282bea34802164b8173a518bcd379fd845bb684:/acmacro/context.m4 diff --git a/acmacro/context.m4 b/acmacro/context.m4 index 17dff0777b..f4faefc718 100644 --- a/acmacro/context.m4 +++ b/acmacro/context.m4 @@ -134,12 +134,10 @@ AC_TRY_RUN([ ucontext_t uc_child; ucontext_t uc_main; -void child(void *arg) +void child(void) { - if (arg != (void *)12345) - exit(1); if (swapcontext(&uc_child, &uc_main) != 0) - exit(1); + exit(2); } int main(int argc, char *argv[]) @@ -149,28 +147,28 @@ 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; uc_child.uc_stack.ss_flags = 0; - makecontext(&uc_child, child, 2, (void *)12345); + makecontext(&uc_child, child, 0); /* 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); @@ -343,7 +341,7 @@ int main(int argc, char *argv[]) uc_handler.uc_stack.ss_sp = (void *)(skaddr + sksize); uc_handler.uc_stack.ss_size = sksize; uc_handler.uc_stack.ss_flags = 0; - makecontext(&uc_handler, handler, 1); + makecontext(&uc_handler, handler, 0); swapcontext(&uc_main, &uc_handler); } #endif