msvcrt: Implemented the raise function.
This commit is contained in:
parent
9f309b32e6
commit
bb5a20c61a
|
@ -543,6 +543,40 @@ MSVCRT___sighandler_t CDECL MSVCRT_signal(int sig, MSVCRT___sighandler_t func)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* raise (MSVCRT.@)
|
||||||
|
*/
|
||||||
|
int CDECL MSVCRT_raise(int sig)
|
||||||
|
{
|
||||||
|
MSVCRT___sighandler_t handler;
|
||||||
|
|
||||||
|
TRACE("(%d)\n", sig);
|
||||||
|
|
||||||
|
switch (sig)
|
||||||
|
{
|
||||||
|
case MSVCRT_SIGABRT:
|
||||||
|
case MSVCRT_SIGFPE:
|
||||||
|
case MSVCRT_SIGILL:
|
||||||
|
case MSVCRT_SIGSEGV:
|
||||||
|
case MSVCRT_SIGINT:
|
||||||
|
case MSVCRT_SIGTERM:
|
||||||
|
handler = sighandlers[sig];
|
||||||
|
if (handler == MSVCRT_SIG_DFL) MSVCRT__exit(3);
|
||||||
|
if (handler != MSVCRT_SIG_IGN)
|
||||||
|
{
|
||||||
|
sighandlers[sig] = MSVCRT_SIG_DFL;
|
||||||
|
if (sig == MSVCRT_SIGFPE)
|
||||||
|
((float_handler)handler)(sig, _FPE_EXPLICITGEN);
|
||||||
|
else
|
||||||
|
handler(sig);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* _XcptFilter (MSVCRT.@)
|
* _XcptFilter (MSVCRT.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -686,7 +686,7 @@
|
||||||
@ cdecl putwc(long ptr) MSVCRT_fputwc
|
@ cdecl putwc(long ptr) MSVCRT_fputwc
|
||||||
@ cdecl putwchar(long) _fputwchar
|
@ cdecl putwchar(long) _fputwchar
|
||||||
@ cdecl qsort(ptr long long ptr) ntdll.qsort
|
@ cdecl qsort(ptr long long ptr) ntdll.qsort
|
||||||
@ stub raise #(long)
|
@ cdecl raise(long) MSVCRT_raise
|
||||||
@ cdecl rand() MSVCRT_rand
|
@ cdecl rand() MSVCRT_rand
|
||||||
@ cdecl realloc(ptr long) MSVCRT_realloc
|
@ cdecl realloc(ptr long) MSVCRT_realloc
|
||||||
@ cdecl remove(str) MSVCRT_remove
|
@ cdecl remove(str) MSVCRT_remove
|
||||||
|
|
Loading…
Reference in New Issue