diff options
| author | Stefan Hajnoczi <stefanha@redhat.com> | 2013-05-16 17:36:00 +0200 |
|---|---|---|
| committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-05-16 14:18:47 -0500 |
| commit | 8db165b36ef893ac69af0452f20eeb78e7b26b5a (patch) | |
| tree | 75e19a7e9017e41baeef3ef1d47d4b733cdce9aa /hw/misc/lm32_sys.c | |
| parent | 6d46895b51103fa26c97ee0e0d895c004e9594d7 (diff) | |
| download | focaccia-qemu-8db165b36ef893ac69af0452f20eeb78e7b26b5a.tar.gz focaccia-qemu-8db165b36ef893ac69af0452f20eeb78e7b26b5a.zip | |
main-loop: narrow win32 pollfds_fill() event bitmasks
pollfds_fill() and pollfds_poll() translate GPollFD to rfds/wfds/xfds for sockets on win32. select(2) is the underlying system call which is used to monitor sockets for activity. Currently file descriptors that monitor G_IO_ERR will be included in both rfds and wfds. As a result, select(2) will report writability on file descriptors where we only really wanted to monitor readability (with errors). slirp_pollfds_poll() hit this issue: UDP sockets are blocking sockets so we hang in sorecvfrom() when G_IO_ERR is set due to the socket being writable (we only wanted to check for readability). This patch fixes the slirp_pollfds_poll() hang. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1368718561-7816-2-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/misc/lm32_sys.c')
0 files changed, 0 insertions, 0 deletions