server: Accept DBG_EXCEPTION_HANDLED parameter in continue_debug_event.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50453
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2021-01-06 15:33:10 +01:00 committed by Alexandre Julliard
parent 901366e3d4
commit c414f232e6
2 changed files with 15 additions and 13 deletions

View File

@ -1053,7 +1053,7 @@ static void test_exceptions(void)
ok( res == STATUS_SUCCESS, "NtSetContextThread failed with %x\n", res );
}
static void test_debugger(void)
static void test_debugger(DWORD cont_status)
{
char cmdline[MAX_PATH];
PROCESS_INFORMATION pi;
@ -1081,7 +1081,7 @@ static void test_debugger(void)
do
{
continuestatus = DBG_CONTINUE;
continuestatus = cont_status;
ok(WaitForDebugEvent(&de, INFINITE), "reading debug event\n");
ret = ContinueDebugEvent(de.dwProcessId, de.dwThreadId, 0xdeadbeef);
@ -1091,7 +1091,7 @@ static void test_debugger(void)
if (de.dwThreadId != pi.dwThreadId)
{
trace("event %d not coming from main thread, ignoring\n", de.dwDebugEventCode);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, DBG_CONTINUE);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, cont_status);
continue;
}
@ -3288,7 +3288,7 @@ static void test_rtlraiseexception(void)
run_rtlraiseexception_test(EXCEPTION_INVALID_HANDLE);
}
static void test_debugger(void)
static void test_debugger(DWORD cont_status)
{
char cmdline[MAX_PATH];
PROCESS_INFORMATION pi;
@ -3316,7 +3316,7 @@ static void test_debugger(void)
do
{
continuestatus = DBG_CONTINUE;
continuestatus = cont_status;
ok(WaitForDebugEvent(&de, INFINITE), "reading debug event\n");
ret = ContinueDebugEvent(de.dwProcessId, de.dwThreadId, 0xdeadbeef);
@ -3326,7 +3326,7 @@ static void test_debugger(void)
if (de.dwThreadId != pi.dwThreadId)
{
trace("event %d not coming from main thread, ignoring\n", de.dwDebugEventCode);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, DBG_CONTINUE);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, cont_status);
continue;
}
@ -4252,7 +4252,7 @@ static void test_thread_context(void)
#undef COMPARE
}
static void test_debugger(void)
static void test_debugger(DWORD cont_status)
{
char cmdline[MAX_PATH];
PROCESS_INFORMATION pi;
@ -4280,7 +4280,7 @@ static void test_debugger(void)
do
{
continuestatus = DBG_CONTINUE;
continuestatus = cont_status;
ok(WaitForDebugEvent(&de, INFINITE), "reading debug event\n");
ret = ContinueDebugEvent(de.dwProcessId, de.dwThreadId, 0xdeadbeef);
@ -4290,7 +4290,7 @@ static void test_debugger(void)
if (de.dwThreadId != pi.dwThreadId)
{
trace("event %d not coming from main thread, ignoring\n", de.dwDebugEventCode);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, DBG_CONTINUE);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, cont_status);
continue;
}
@ -5500,7 +5500,7 @@ static void test_thread_context(void)
#undef COMPARE
}
static void test_debugger(void)
static void test_debugger(DWORD cont_status)
{
char cmdline[MAX_PATH];
PROCESS_INFORMATION pi;
@ -5528,7 +5528,7 @@ static void test_debugger(void)
do
{
continuestatus = DBG_CONTINUE;
continuestatus = cont_status;
ok(WaitForDebugEvent(&de, INFINITE), "reading debug event\n");
ret = ContinueDebugEvent(de.dwProcessId, de.dwThreadId, 0xdeadbeef);
@ -5538,7 +5538,7 @@ static void test_debugger(void)
if (de.dwThreadId != pi.dwThreadId)
{
trace("event %d not coming from main thread, ignoring\n", de.dwDebugEventCode);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, DBG_CONTINUE);
ContinueDebugEvent(de.dwProcessId, de.dwThreadId, cont_status);
continue;
}
@ -8346,7 +8346,8 @@ START_TEST(exception)
#endif
test_debugger();
test_debugger(DBG_EXCEPTION_HANDLED);
test_debugger(DBG_CONTINUE);
test_thread_context();
test_outputdebugstring(1, FALSE);
test_ripevent(1);

View File

@ -677,6 +677,7 @@ DECL_HANDLER(continue_debug_event)
struct process *process;
if (req->status != DBG_EXCEPTION_NOT_HANDLED &&
req->status != DBG_EXCEPTION_HANDLED &&
req->status != DBG_CONTINUE &&
req->status != DBG_REPLY_LATER)
{