qemu-e2k/include/sysemu
Kirill Batuzov 812c1057f6 Handle G_IO_HUP in tcp_chr_read for tcp chardev
Since commit cdaa86a54b
("Add G_IO_HUP handler for socket chardev")
GLib limitation results in a bug on Windows host. Steps to reproduce:

Start qemu: qemu-system-i386 -qmp tcp:127.0.0.1:4444:server:nowait
Connect with telnet: telnet 127.0.0.1 4444
Try sending some data from telnet.
Expected result: answers from QEMU.
Observed result: no answers (actually tcp_chr_read is not called at all).

Due to GLib limitations it is not possible to create several watches on one
channel on Windows hosts. See bug #338943 in GNOME bugzilla for details:
https://bugzilla.gnome.org/show_bug.cgi?id=338943

This reimplements commit cdaa86a54b
("Add G_IO_HUP handler for socket chardev") using a single watch:

Handle G_IO_HUP in tcp_chr_read instead. It is already watched by a
corresponding watch.  Remove the second watch with its handler.

Cc: Antonios Motakis <a.motakis@virtualopensystems.com>
Cc: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru>
Signed-off-by: Nikita Belov <zodiac@ispras.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2014-07-06 09:13:54 +03:00
..
arch_init.h
balloon.h qapi event: convert BALLOON_CHANGE 2014-06-23 11:12:28 -04:00
blockdev.h blockdev: Remove unused DriveInfo reference count 2014-06-16 17:23:19 +08:00
bt.h
char.h Handle G_IO_HUP in tcp_chr_read for tcp chardev 2014-07-06 09:13:54 +03:00
cpus.h NUMA: move numa related code to new file numa.c 2014-06-19 18:44:18 +03:00
device_tree.h
dma.h
dump-arch.h dump: Make DumpState and endian conversion routines available for arch-specific dump code 2014-06-16 13:24:36 +02:00
dump.h dump: Make DumpState and endian conversion routines available for arch-specific dump code 2014-06-16 13:24:36 +02:00
hostmem.h hostmem: add properties for NUMA memory policy 2014-06-19 18:44:21 +03:00
iothread.h
kvm.h Merge remote-tracking branch 'remotes/kvm/uq/master' into staging 2014-06-20 19:25:18 +01:00
memory_mapping.h
os-posix.h os-posix: include sys/time.h 2014-06-23 11:01:24 -04:00
os-win32.h memory: move preallocation code out of exec.c 2014-06-19 18:44:19 +03:00
qtest.h
rng-random.h
rng.h
seccomp.h
sysemu.h numa: Keep track of NUMA nodes present on the command-line 2014-06-29 18:59:41 +03:00
tpm_backend_int.h
tpm_backend.h
tpm.h
watchdog.h
xen-mapcache.h