From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwTHP-0000mk-Oj for qemu-devel@nongnu.org; Tue, 18 Oct 2016 08:14:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bwTHL-0006Bc-Um for qemu-devel@nongnu.org; Tue, 18 Oct 2016 08:14:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53338) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bwTHL-0006AO-P3 for qemu-devel@nongnu.org; Tue, 18 Oct 2016 08:13:59 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F37F090E48 for ; Tue, 18 Oct 2016 12:13:58 +0000 (UTC) Date: Tue, 18 Oct 2016 13:13:55 +0100 From: "Daniel P. Berrange" Message-ID: <20161018121355.GP4349@redhat.com> Reply-To: "Daniel P. Berrange" References: <20161012191502.GC16187@work-vm> <20161018100409.GH4349@redhat.com> <87d1ixlv0x.fsf@dusky.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87d1ixlv0x.fsf@dusky.pond.sub.org> Subject: Re: [Qemu-devel] chardev's and fd's in monitors List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: "Dr. David Alan Gilbert" , qemu-devel@nongnu.org On Tue, Oct 18, 2016 at 02:08:14PM +0200, Markus Armbruster wrote: > "Daniel P. Berrange" writes: > > > On Wed, Oct 12, 2016 at 08:15:02PM +0100, Dr. David Alan Gilbert wrote: > >> Hi, > >> I had a look at a couple of readline like libraries; > >> editline and linenoise. A difficulty with using them is that > >> they both want fd's or FILE*'s; editline takes either but > >> from a brief look I think it's expecting to extract the fd. > >> That makes them tricky to integrate into qemu, where > >> the chardev's hide a whole bunch of non-fd things; in particular > >> tls, mux, ringbuffers etc. > >> > >> If we could get away with just a FILE* then we could use fopencookie, > >> but that's GNU only. > >> > >> Is there any sane way of shepherding all chardev's into having an > >> fd? > > > > The entire chardev abstraction model exists precisely because we cannot > > make all chardevs look like a single fd. Even those which are fd based > > may have separate FDs for input and output. > > > > IMHO the only viable approach would be to enhance linenoise/editline to > > not assume use of fd* or FILE * abstractions. > > The real thing (GNU readline) has hooks rl_getc_function, > rl_input_available_hook, rl_redisplay_function and so forth, which might > do the trick. Unfortunately, we're stuck with cheap copies due to our > foolish acceptance of GPLv2-only contributions. I'm wondering if improving read line facilities in HMP is really important enough for us to bother dealing with the problems, as opposed to just staying with our current impl ? Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|