ntdll: Move the RtlRaiseException implementation into the respective platform-specific files.

This commit is contained in:
Alexandre Julliard 2009-04-10 13:14:05 +02:00
parent 48199d7074
commit f4eee1c731
5 changed files with 49 additions and 24 deletions

View File

@ -427,29 +427,6 @@ void raise_status( NTSTATUS status, EXCEPTION_RECORD *rec )
}
/***********************************************************************
* RtlRaiseException (NTDLL.@)
*/
void WINAPI __regs_RtlRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context )
{
NTSTATUS status = raise_exception( rec, context, TRUE );
if (status != STATUS_SUCCESS) raise_status( status, rec );
}
/**********************************************************************/
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT( RtlRaiseException, 1 )
#else
void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
{
CONTEXT context;
RtlCaptureContext( &context );
__regs_RtlRaiseException( rec, &context );
}
#endif
/*******************************************************************
* RtlUnwind (NTDLL.@)
*/

View File

@ -2007,6 +2007,18 @@ void __wine_enter_vm86( CONTEXT *context )
}
#endif /* __HAVE_VM86 */
/***********************************************************************
* RtlRaiseException (NTDLL.@)
*/
void WINAPI __regs_RtlRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context )
{
NTSTATUS status = raise_exception( rec, context, TRUE );
if (status != STATUS_SUCCESS) raise_status( status, rec );
}
DEFINE_REGS_ENTRYPOINT( RtlRaiseException, 1 )
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/

View File

@ -1001,6 +1001,19 @@ void __wine_enter_vm86( CONTEXT *context )
MESSAGE("vm86 mode not supported on this platform\n");
}
/***********************************************************************
* RtlRaiseException (NTDLL.@)
*/
void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
{
CONTEXT context;
NTSTATUS status;
RtlCaptureContext( &context );
status = raise_exception( rec, &context, TRUE );
if (status) raise_status( status, rec );
}
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/

View File

@ -699,7 +699,6 @@ void signal_init_process(void)
this is correct, because that is what x86 does, or it is harmful
because it could obscure problems in user code */
asm("ta 6"); /* 6 == ST_FIX_ALIGN defined in sys/trap.h */
signal_init_thread();
return;
error:
@ -716,6 +715,19 @@ void __wine_enter_vm86( CONTEXT *context )
MESSAGE("vm86 mode not supported on this platform\n");
}
/***********************************************************************
* RtlRaiseException (NTDLL.@)
*/
void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
{
CONTEXT context;
NTSTATUS status;
RtlCaptureContext( &context );
status = raise_exception( rec, &context, TRUE );
if (status) raise_status( status, rec );
}
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/

View File

@ -804,6 +804,17 @@ PVOID WINAPI RtlVirtualUnwind ( ULONG type, ULONG64 base, ULONG64 pc,
}
/***********************************************************************
* RtlRaiseException (NTDLL.@)
*/
void WINAPI __regs_RtlRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context )
{
NTSTATUS status = raise_exception( rec, context, TRUE );
if (status != STATUS_SUCCESS) raise_status( status, rec );
}
DEFINE_REGS_ENTRYPOINT( RtlRaiseException, 1 )
/**********************************************************************
* __wine_enter_vm86 (NTDLL.@)
*/