[PATCH 1/3] [Msvcrt]: reset a signal to DFL after it's been used

Alexandre Julliard julliard at winehq.org
Tue Jan 2 12:35:02 CST 2007


Eric Pouech <eric.pouech at wanadoo.fr> writes:

> @@ -455,13 +456,13 @@ static LONG WINAPI msvcrt_exception_filt
>      case EXCEPTION_FLT_OVERFLOW:
>      case EXCEPTION_FLT_STACK_CHECK:
>      case EXCEPTION_FLT_UNDERFLOW:
> -        if (sighandlers[MSVCRT_SIGFPE])
> +        if ((handler =3D sighandlers[MSVCRT_SIGFPE]) !=3D MSVCRT_SIG_DFL=
> )
>          {
> -            if (sighandlers[MSVCRT_SIGFPE] !=3D MSVCRT_SIG_IGN)
> +            sighandlers[MSVCRT_SIGSEGV] =3D MSVCRT_SIG_DFL;
> +            if (handler !=3D MSVCRT_SIG_IGN)

You have to check for SIG_IGN first, the handler should not be reset
in that case.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list