Zebediah Figura (@zfigura) commented about dlls/ws2_32/tests/sock.c:
- ret = listen(listener, 1);
- ok(!ret, "Could not listen on Unix socket: %lu\n", GetLastError());
- client = socket(AF_UNIX, SOCK_STREAM, 0);
- ok(client != INVALID_SOCKET, "Failed to create second Unix socket: %lu\n",
GetLastError());
- clientThread = CreateThread(NULL, 0, test_afunix_client_connect_thread,
&(struct afunix_thread_param){ client, addr }, 0, NULL);
- ok(clientThread != NULL, "CreateThread failed unexpectedly: %ld\n", GetLastError());
- server = accept(listener, NULL, NULL);
- ok(server != INVALID_SOCKET, "Could not accept Unix socket connection: %lu\n",
GetLastError());
- WaitForSingleObject(clientThread, 1000);
If you're going to use a thread you should check this return value; if it fails then that means we have a bug in the implementation. We're also missing a CloseHandle().