[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 31/55] channel-posix: using qemu_set_nonblock() inste
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 31/55] channel-posix: using qemu_set_nonblock() instead of fcntl(O_NONBLOCK) |
Date: |
Fri, 15 Aug 2014 18:06:38 +0100 |
From: Gonglei <address@hidden>
Technically, fcntl(soc, F_SETFL, O_NONBLOCK)
is incorrect since it clobbers all other file flags.
We can use F_GETFL to get the current flags, set or
clear the O_NONBLOCK flag, then use F_SETFL to set the flags.
Using the qemu_set_nonblock() wrapper.
Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Wangxin <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
qga/channel-posix.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qga/channel-posix.c b/qga/channel-posix.c
index e65dda3..8aad4fe 100644
--- a/qga/channel-posix.c
+++ b/qga/channel-posix.c
@@ -42,7 +42,7 @@ static gboolean ga_channel_listen_accept(GIOChannel *channel,
g_warning("error converting fd to gsocket: %s", strerror(errno));
goto out;
}
- fcntl(client_fd, F_SETFL, O_NONBLOCK);
+ qemu_set_nonblock(client_fd);
ret = ga_channel_client_add(c, client_fd);
if (ret) {
g_warning("error setting up connection");
--
1.9.3
- [Qemu-devel] [PULL 18/55] q35: Enable the ioapic device to be seen by qtest., (continued)
- [Qemu-devel] [PULL 18/55] q35: Enable the ioapic device to be seen by qtest., Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 19/55] qtest: Adding qtest_memset and qmemset., Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 20/55] libqos: Correct memory leak, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 21/55] libqtest: Correct small memory leak., Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 22/55] libqos: Fixes a small memory leak., Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 23/55] libqos: allow qpci_iomap to return BAR mapping size, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 24/55] qtest/ide: Fix small memory leak, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 26/55] cmd646: synchronise DMA interrupt status with UDMA interrupt status, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 25/55] cmd646: add constants for CNTRL register access, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 28/55] cmd646: allow MRDMODE interrupt status bits clearing from PCI config space, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 31/55] channel-posix: using qemu_set_nonblock() instead of fcntl(O_NONBLOCK),
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 32/55] dataplane: print why starting failed, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 35/55] parallels: extend parallels format header with actual data values, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 27/55] cmd646: switch cmd646_update_irq() to accept PCIDevice instead of PCIIDEState, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 36/55] parallels: replace tabs with spaces in block/parallels.c, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 29/55] cmd646: synchronise UDMA interrupt status with DMA interrupt status, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 33/55] dataplane: fail notifier setting gracefully, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 37/55] parallels: split check for parallels format in parallels_open, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 34/55] dataplane: stop trying on notifier error, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 38/55] parallels: 2TB+ parallels images support, Stefan Hajnoczi, 2014/08/15
- [Qemu-devel] [PULL 40/55] ide: Fix segfault when flushing a device that doesn't exist, Stefan Hajnoczi, 2014/08/15