On Wed, Mar 25, 2020 at 10:01:02AM +0000, Richard W.M. Jones wrote:
On Wed, Mar 25, 2020 at 09:48:02AM +0000, Daniel P. Berrangé wrote:
> On Wed, Mar 25, 2020 at 09:42:19AM +0000, Richard W.M. Jones wrote:
> > Now runs a complete set of tests, notably including the AIO test.
> >
> > File descriptors are passed in and out as plain ints (instead of
> > *os.File) for a couple of reasons: (1) We have to pass the plain int
> > to syscall.Select. (2) Turning an fd into an os.File causes golang to
> > set the blocking flag which is deeply unhelpful.
>
> FWIW, using non-blocking FDs and syscall.Select is not normal best
> practice for Go, where the expected model would be to use goroutines
> with the file in blocking mode.
Right, however I couldn't find any documentation about how to
integrate a C library with that mechanism. Does libvirt-go do
anything like this?
What's the intended usage of the FD ? I was thinking it was just for
doing plain read/write I/O from Go, but now I'm thinking this was wrong
interpretation
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|