@@ -8513,6 +8513,22 @@ static HWND create_async_message_window(void)
8513
8513
return hWnd ;
8514
8514
}
8515
8515
8516
+ static void wait_for_async_message (HWND hwnd , HANDLE handle )
8517
+ {
8518
+ BOOL ret ;
8519
+ MSG msg ;
8520
+
8521
+ while ((ret = GetMessageA (& msg , 0 , 0 , 0 )) &&
8522
+ !(msg .hwnd == hwnd && msg .message == WM_ASYNCCOMPLETE ))
8523
+ {
8524
+ TranslateMessage (& msg );
8525
+ DispatchMessageA (& msg );
8526
+ }
8527
+
8528
+ ok (ret , "did not expect WM_QUIT message\n" );
8529
+ ok (msg .wParam == (WPARAM )handle , "expected wParam = %p, got %lx\n" , handle , msg .wParam );
8530
+ }
8531
+
8516
8532
static void test_WSAAsyncGetServByPort (void )
8517
8533
{
8518
8534
HWND hwnd = create_async_message_window ();
@@ -8530,12 +8546,15 @@ static void test_WSAAsyncGetServByPort(void)
8530
8546
8531
8547
ret = WSAAsyncGetServByPort (hwnd , WM_ASYNCCOMPLETE , 0 , NULL , NULL , 0 );
8532
8548
ok (ret != NULL , "WSAAsyncGetServByPort returned NULL\n" );
8549
+ wait_for_async_message (hwnd , ret );
8533
8550
8534
8551
ret = WSAAsyncGetServByPort (hwnd , WM_ASYNCCOMPLETE , htons (80 ), NULL , NULL , 0 );
8535
8552
ok (ret != NULL , "WSAAsyncGetServByPort returned NULL\n" );
8553
+ wait_for_async_message (hwnd , ret );
8536
8554
8537
8555
ret = WSAAsyncGetServByPort (hwnd , WM_ASYNCCOMPLETE , htons (80 ), NULL , buffer , MAXGETHOSTSTRUCT );
8538
8556
ok (ret != NULL , "WSAAsyncGetServByPort returned NULL\n" );
8557
+ wait_for_async_message (hwnd , ret );
8539
8558
8540
8559
DestroyWindow (hwnd );
8541
8560
}
@@ -8554,15 +8573,19 @@ static void test_WSAAsyncGetServByName(void)
8554
8573
/* Parameters are not checked when initiating the asynchronous operation. */
8555
8574
ret = WSAAsyncGetServByName (hwnd , WM_ASYNCCOMPLETE , "" , NULL , NULL , 0 );
8556
8575
ok (ret != NULL , "WSAAsyncGetServByName returned NULL\n" );
8576
+ wait_for_async_message (hwnd , ret );
8557
8577
8558
8578
ret = WSAAsyncGetServByName (hwnd , WM_ASYNCCOMPLETE , "" , "" , buffer , MAXGETHOSTSTRUCT );
8559
8579
ok (ret != NULL , "WSAAsyncGetServByName returned NULL\n" );
8580
+ wait_for_async_message (hwnd , ret );
8560
8581
8561
8582
ret = WSAAsyncGetServByName (hwnd , WM_ASYNCCOMPLETE , "http" , NULL , NULL , 0 );
8562
8583
ok (ret != NULL , "WSAAsyncGetServByName returned NULL\n" );
8584
+ wait_for_async_message (hwnd , ret );
8563
8585
8564
8586
ret = WSAAsyncGetServByName (hwnd , WM_ASYNCCOMPLETE , "http" , "tcp" , buffer , MAXGETHOSTSTRUCT );
8565
8587
ok (ret != NULL , "WSAAsyncGetServByName returned NULL\n" );
8588
+ wait_for_async_message (hwnd , ret );
8566
8589
8567
8590
DestroyWindow (hwnd );
8568
8591
}
0 commit comments