----- Ursprüngliche Mail -----
> +     if (!__Terrno(ret, sigaction(SIGSEGV, &sa, &old_sa)))
> +             goto out;
> +
> +     if (!__Terrno(ret, iopl(3)))
> +             goto out;
> +
> +     if (!__T(ret, pthread_create(&pt, NULL, tfn, NULL)))
> +             goto out;
> +
> +     if (!__T(ret, pthread_join(pt, (void *)&ptret)))
> +             goto out;
> +
> +     if (!__Terrno(ret, sigaction(SIGSEGV, &old_sa, NULL)))
> +             goto out;
> +
> +out:

I missed here to restore old_sa. ;-\
If iopl(), pthread_create() or pthread_join() fail we end up with
the current signal handler for SIGSEGV.

Will fix in a later v2.

Thanks,
//richard

Reply via email to