From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=56983 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pcc7l-0001Rj-5i for qemu-devel@nongnu.org; Tue, 11 Jan 2011 06:10:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pcc7j-0004zJ-Nk for qemu-devel@nongnu.org; Tue, 11 Jan 2011 06:10:48 -0500 Received: from mx1.redhat.com ([209.132.183.28]:51453) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pcc7j-0004zE-Df for qemu-devel@nongnu.org; Tue, 11 Jan 2011 06:10:47 -0500 From: Amit Shah Date: Tue, 11 Jan 2011 16:40:29 +0530 Message-Id: Subject: [Qemu-devel] [PATCH v9 0/5] char: Add support for nonblocking writes List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu list Cc: Amit Shah , Paul Brook , Gerd Hoffmann Hello, This version of the series adds proper handling of nonblocking when the backend managed to flush out some data but not all (ret > 0 && ret < len). Just the unix/tcp backends have been updated to be nonblocking, but it's easy to add support to the other backends, as the last patch in the series shows. I'll work on that once this is applied. The virtio-console code will be the first user of this work, that series will be sent shortly. This series depends on the virtio-serial fixes and enhancements series that I sent out a short while back. Please review and apply, Amit Shah (5): char: Add a QemuChrHandlers struct to initialise chardev handlers char: Introduce char_set/remove_fd_handlers() char: Add framework for a 'write unblocked' callback char: Update send_all() to handle nonblocking chardev write requests char: Equip the unix/tcp backend to handle nonblocking writes gdbstub.c | 9 ++- hw/debugcon.c | 2 +- hw/escc.c | 9 ++- hw/etraxfs_ser.c | 13 +++- hw/ivshmem.c | 28 ++++++-- hw/mcf_uart.c | 9 ++- hw/pl011.c | 9 ++- hw/pxa2xx.c | 13 +++- hw/serial.c | 9 ++- hw/sh_serial.c | 12 +++- hw/syborg_serial.c | 9 ++- hw/usb-serial.c | 9 ++- hw/virtio-console.c | 9 ++- hw/xen_console.c | 16 +++-- hw/xilinx_uartlite.c | 11 +++- monitor.c | 19 ++++- net/slirp.c | 8 ++- net/socket.c | 4 +- qemu-char.c | 196 ++++++++++++++++++++++++++++++++++++++++---------- qemu-char.h | 17 ++++- qemu_socket.h | 2 +- 21 files changed, 321 insertions(+), 92 deletions(-) -- 1.7.3.4