From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zr9hI-0007o5-9b for qemu-devel@nongnu.org; Tue, 27 Oct 2015 15:14:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zr9hD-0006kO-29 for qemu-devel@nongnu.org; Tue, 27 Oct 2015 15:14:16 -0400 Received: from relay.parallels.com ([195.214.232.42]:41280) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zr9hC-0006iR-QE for qemu-devel@nongnu.org; Tue, 27 Oct 2015 15:14:10 -0400 References: <1445968123-1773-1-git-send-email-den@openvz.org> <1445968123-1773-4-git-send-email-den@openvz.org> <20151027191112.4255.20231@loki> From: "Denis V. Lunev" Message-ID: <562FCCF5.7090807@openvz.org> Date: Tue, 27 Oct 2015 22:13:57 +0300 MIME-Version: 1.0 In-Reply-To: <20151027191112.4255.20231@loki> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/3] qga: set file descriptor in qmp_guest_file_open non-blocking on Win32 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: Olga Krishtal , qemu-devel@nongnu.org, Stefan Weil On 10/27/2015 10:11 PM, Michael Roth wrote: > Quoting Denis V. Lunev (2015-10-27 12:48:43) >> From: Olga Krishtal >> >> Set fd non-blocking to avoid common use cases (like reading from a >> named pipe) from hanging the agent. This was missed in the original >> code. >> >> The patch introduces analog of qemu_set_non/block for HANDLES. >> The usage of handles in qemu_set_non/block is impossible, because for >> win32 there is a difference between file discriptors and file handles, >> and all file ops are made via Win32 api. > If this is specific to HANDLEs, why do we need to cast back and forth > between int64_t and HANDLE? I haven't build tested, but it seems like > this would break for 32-bit mingw builds. > > I would define these as qemu_set_*_by_handle(HANDLE fh, ...) instead > and make them win32 only. If someone wants to introduce a FILE* > variant for posix they can introduce it as > qemu_set_*_by_handle(FILE *fh, ...) rather than us needing to > abstract away the handle type. may be it would be better to add static function for this in QGA for now? I am eager to drop this code at once for Posix and Windows and switch to GLIB like was done for guest exec. Den