xemu/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  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 Provide init function for ram migration 2014-05-05 22:15:03 +02:00
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 sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
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 device_tree: qemu_fdt_setprop: Rename val_array arg 2013-12-20 01:58:12 +01:00
dma.h dma: keep a device alive while it has SGLists 2013-07-04 17:42:30 +02:00
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 iothread: make IOThread struct definition public 2014-04-04 20:48:02 +02:00
kvm.h Merge remote-tracking branch 'remotes/kvm/uq/master' into staging 2014-06-20 19:25:18 +01:00
memory_mapping.h dump: rebase from host-private RAMBlock offsets to guest-physical addresses 2013-08-08 11:01:46 -04:00
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 machine: Replace QEMUMachine by MachineClass in accelerator configuration 2014-05-05 19:08:49 +02:00
rng-random.h sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
rng.h virtio_rng: replace custom backend API with UserCreatable.complete() callback 2014-01-28 12:47:11 -05:00
seccomp.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
sysemu.h numa: Keep track of NUMA nodes present on the command-line 2014-06-29 18:59:41 +03:00
tpm.h tpm: reorganize headers and split hardware part 2013-04-15 18:19:25 +02:00
tpm_backend.h Move TPM passthrough specific command line options to backend structure 2013-04-23 10:40:40 -05:00
tpm_backend_int.h tpm: reorganize headers and split hardware part 2013-04-15 18:19:25 +02:00
watchdog.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
xen-mapcache.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00