summaryrefslogtreecommitdiffstats
path: root/po/br.po
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2014-01-24 16:51:04 +0000
committerDaniel P. Berrange <berrange@redhat.com>2014-01-24 16:51:04 +0000
commitec31b4fd9924427dd7dd6101945e3cf2fb926fb3 (patch)
tree3b89627dcaf641502fc8d5b98a029275e4c9f390 /po/br.po
parentb2a233b7116c686b13ae9084d2cd04e9a1d89a06 (diff)
downloadvirt-viewer-ec31b4fd9924427dd7dd6101945e3cf2fb926fb3.tar.gz
virt-viewer-ec31b4fd9924427dd7dd6101945e3cf2fb926fb3.tar.xz
virt-viewer-ec31b4fd9924427dd7dd6101945e3cf2fb926fb3.zip
Fix virt-viewer.exe on win32
Libvirt uses gnulib for making winsock look like POSIX sockets. This means that in the libvirt event handle callbacks the application will be given a file descriptor rather than a winsock HANDLE object. The g_io_channel_unix_new method will detect that it is an FD and delegate to the g_io_channel_win32_new_fd method. Unfortunately the glib Win32 event loop impl is not very good at dealing with FD objects, simulating poll() by doing a read() on the FD :-( The API docs for g_io_channel_win32_new_fd say "All reads from the file descriptor should be done by this internal GLib thread. Your code should call only g_io_channel_read()." This isn't going to fly for libvirt, since it has zero knowledge of glib at all, so is just doing normal read(). Fortunately we can work around this problem by turning the FD we get from libvirt back into a HANDLE using the _get_osfhandle() method. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'po/br.po')
0 files changed, 0 insertions, 0 deletions