[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] broken socket events on win32 qemu

From: Andrew Baumann
Subject: [Qemu-devel] broken socket events on win32 qemu
Date: Mon, 7 Mar 2016 07:23:12 +0000

Hi Daniel,

This commit ("char: convert from GIOChannel to QIOChannel"):
... appears to have broken socket events for character devices on Win32. For 
example, I can no longer connect to a GDB stub (started with: "-gdb 
tcp:"), since tcp_chr_accept is never called.

Without having looked very closely at the code, I suspect the problem may be 
that we've lost the special-case treatment of socket handles as distinct from 
file descriptors on Win32 (they are different namespaces, and different APIs 
are needed). The previous version of qemu-char.c special-cased sockets in 

-#ifdef _WIN32
-    chan = g_io_channel_win32_new_socket(fd);
-    chan = g_io_channel_unix_new(fd);

... but I don't see anything equivalent in io/channel-socket.c. Am I looking in 
the wrong place?

BTW, The same change introduces another problem on win32: server sockets like 
the GDB example above fail on getpeername() with "Unable to query remote socket 
address: Unknown error". This seems to be caused by a definition of ENOTCONN 
that is not WSAENOTCONN. I'm still trying to figure out why that is, and how to 
best fix it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]