I'm running the tests on a slowish uniprocessor (Athlon XP 2100+, not dual
as I mistakenly said in last post), and I'm running into a hang in
user32/tests/dde.c. This is a two process test. One process is hung in
8 test_ddeml_server+0x1ad(hproc=0x4c) [dlls/user32/tests/dde.c:797]
in user32_test (0x7f21fc68)
in a reasonable looking "wait for requests", and the
other is hung in
5 X11DRV_MsgWaitForMultipleObjectsEx+0x77(count=0x1,
handles=0x7f22fa0c, timeout=0xffffffff, mask=0x40, flags=0x0)
[dlls/winex11.drv/event.c:402] in winex11 (0x7f22f968)
6 wait_message_reply+0x11f(flags=0x0) [dlls/user32/message.c:2274]
in user32 (0x7f22fa28)
7 send_inter_thread_message+0xf9(info=0x7f22faec,
res_ptr=0x7f22fab0) dlls/user32/message.c:2418] in user32 (0x7f22fa78)
8 send_message+0x252(info=0x7f22faec, res_ptr=0x0, unicode=0x0)
[dlls/user32/message.c:2480] in user32 (0x7f22fac8)
9 SendMessageTimeoutA+0x52(hwnd=0x84002c, msg=0x3e0,
wparam=0xb005c, lparam=0xc09fc09c, flags=0x0, timeout=0x0,
res_ptr=0x0) [dlls/user32/message.c:2567] in user32 (0x7f22fb18)
10 broadcast_message_callback+0xfa(hwnd=0x84002c,
lparam=0x7f22fc08) [dlls/user32/message.c:363] in user32 (0x7f22fb68)
11 EnumWindows+0x7d(lpEnumFunc=0x4b3d5ba, lParam=0x7f22fc08)
[dlls/user32/win.c:2979] in user32 (0x7f22fb98)
12 send_message+0x3b(info=0x7f22fc08, res_ptr=0x7f22fc34,
unicode=0x0) [dls/user32/message.c:2450] in user32 (0x7f22fbe8)
13 SendMessageA+0x5b(hwnd=0xffff, msg=0x3e0, wparam=0xb005c,
lparam=0xc09fc09c) [dlls/user32/message.c:2609] in user32 (0x7f22fc38)
14 test_msg_client+0x111() [dlls/user32/tests/dde.c:1026] in
user32_test (0x7f22fc68)
That last frame is on the line
SendMessageA(HWND_BROADCAST, WM_DDE_INITIATE, (WPARAM)client_hwnd,
MAKELONG(server, topic));
Looking at the code, it seems the client is spawned before the server
is started.
What happens if the client gets all the way to that SendMessageA(...
WM_DDE_INITIATE...)
before the server is active? Would that cause the observed hang?
The code in question seems to have been added back in October by:
commit 9cf7f8c3e21931b52e3da6c5feb701aa9ba4a1f8
Author: James Hawkins <truiken(a)gmail.com>
Date: Mon Oct 8 04:06:45 2007 -0500
user32: Test the ddeml server interface.
- Dan