On Mon, Dec 14, 2020 at 05:36:09PM +0100, Manuel Bouyer wrote:
> ---
> tools/libs/evtchn/netbsd.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/libs/evtchn/netbsd.c b/tools/libs/evtchn/netbsd.c
> index 8b8545d2f9..6d4ce28011 100644
> --- a/tools/libs/evtchn/netbsd.c
> +++ b/tools/libs/evtchn/netbsd.c
> @@ -25,10 +25,10 @@
>
> #include <sys/ioctl.h>
>
> -#include <xen/sys/evtchn.h>
> -
> #include "private.h"
>
> +#include <xen/xenio3.h>
> +
> #define EVTCHN_DEV_NAME "/dev/xenevt"
>
> int osdep_evtchn_open(xenevtchn_handle *xce)
> @@ -131,7 +131,7 @@ xenevtchn_port_or_error_t
> xenevtchn_pending(xenevtchn_handle *xce)
> int fd = xce->fd;
> evtchn_port_t port;
>
> - if ( read_exact(fd, (char *)&port, sizeof(port)) == -1 )
> + if ( read(fd, (char *)&port, sizeof(port)) == -1 )
> return -1;
>
> return port;
> @@ -140,7 +140,7 @@ xenevtchn_port_or_error_t
> xenevtchn_pending(xenevtchn_handle *xce)
> int xenevtchn_unmask(xenevtchn_handle *xce, evtchn_port_t port)
> {
> int fd = xce->fd;
> - return write_exact(fd, (char *)&port, sizeof(port));
> + return write(fd, (char *)&port, sizeof(port));
I'm afraid we will need some context as to why {read/write}_exact
doesn't work here.
Thanks, Roger.