user32/tests: Fix race condition in DDE server startup.

This commit is contained in:
Alexandre Julliard 2008-06-02 14:13:01 +02:00
parent 1b81ee33be
commit e0c35a8582
1 changed files with 4 additions and 3 deletions

View File

@ -227,12 +227,13 @@ static LRESULT WINAPI dde_server_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPA
return DefWindowProcA(hwnd, msg, wparam, lparam); return DefWindowProcA(hwnd, msg, wparam, lparam);
} }
static void test_msg_server(HANDLE hproc) static void test_msg_server(HANDLE hproc, HANDLE hthread)
{ {
MSG msg; MSG msg;
HWND hwnd; HWND hwnd;
DWORD res; DWORD res;
ResumeThread( hthread );
create_dde_window(&hwnd, "dde_server", dde_server_wndproc); create_dde_window(&hwnd, "dde_server", dde_server_wndproc);
while (MsgWaitForMultipleObjects( 1, &hproc, FALSE, INFINITE, QS_ALLINPUT ) != 0) while (MsgWaitForMultipleObjects( 1, &hproc, FALSE, INFINITE, QS_ALLINPUT ) != 0)
@ -2091,9 +2092,9 @@ START_TEST(dde)
startup.wShowWindow = SW_SHOWNORMAL; startup.wShowWindow = SW_SHOWNORMAL;
CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CreateProcessA(NULL, buffer, NULL, NULL, FALSE,
0, NULL, NULL, &startup, &proc); CREATE_SUSPENDED, NULL, NULL, &startup, &proc);
test_msg_server(proc.hProcess); test_msg_server(proc.hProcess, proc.hThread);
sprintf(buffer, "%s dde msg", argv[0]); sprintf(buffer, "%s dde msg", argv[0]);
CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CreateProcessA(NULL, buffer, NULL, NULL, FALSE,