All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Lee Essen <lee.essen@nowonline.co.uk>
Cc: "Blue Swirl" <blauwirbel@gmail.com>,
	"Andreas Färber" <andreas.faerber@web.de>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 4/4] qga/channel-posix: provide Solaris alternative to O_ASYNC
Date: Tue, 27 Mar 2012 16:56:48 +0200	[thread overview]
Message-ID: <4F71D530.30302@redhat.com> (raw)
In-Reply-To: <1332606390-3605-4-git-send-email-lee.essen@nowonline.co.uk>

Il 24/03/2012 17:26, Lee Essen ha scritto:
> Solaris does not support the O_ASYNC option to open, this patch
> adds the same functionality through the I_SETSIG ioctl.
> 
> Signed-off-by: Lee Essen <lee.essen@nowonline.co.uk>
> ---
>  qga/channel-posix.c |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/qga/channel-posix.c b/qga/channel-posix.c
> index 40f7658..86245c1 100644
> --- a/qga/channel-posix.c
> +++ b/qga/channel-posix.c
> @@ -3,6 +3,10 @@
>  #include "qemu_socket.h"
>  #include "qga/channel.h"
>  
> +#ifdef CONFIG_SOLARIS
> +#include <sys/stropts.h>
> +#endif
> +
>  #define GA_CHANNEL_BAUDRATE_DEFAULT B38400 /* for isa-serial channels */
>  
>  struct GAChannel {
> @@ -123,7 +127,19 @@ static gboolean ga_channel_open(GAChannel *c, const gchar *path, GAChannelMethod
>  
>      switch (c->method) {
>      case GA_CHANNEL_VIRTIO_SERIAL: {
> +#ifdef CONFIG_SOLARIS
> +        int fd = qemu_open(path, O_RDWR | O_NONBLOCK);
> +        if (fd == -1) {
> +            g_critical("error opening channel: %s", strerror(errno));
> +            exit(EXIT_FAILURE);
> +        }
> +        if (ioctl(fd, I_SETSIG, S_OUTPUT | S_INPUT | S_HIPRI) < 0) {
> +            g_critical("error with setsig on channel: %s", strerror(errno));
> +            exit(EXIT_FAILURE);
> +        }
> +#else
>          int fd = qemu_open(path, O_RDWR | O_NONBLOCK | O_ASYNC);
> +#endif
>          if (fd == -1) {
>              g_critical("error opening channel: %s", strerror(errno));
>              exit(EXIT_FAILURE);

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo

  reply	other threads:[~2012-03-27 14:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-24 16:26 [Qemu-devel] [PATCH 1/4] Add socket/xnet libs to configure for Solaris Lee Essen
2012-03-24 16:26 ` [Qemu-devel] [PATCH 2/4] Enable sigbus_reraise " Lee Essen
2012-03-27  7:29   ` Stefan Hajnoczi
2012-03-27 11:41     ` Lee Essen
2012-03-27 11:41   ` Andreas Färber
2012-03-27 11:45     ` Jan Kiszka
2012-03-27 11:47       ` Jan Kiszka
2012-03-27 11:54         ` Jan Kiszka
2012-03-27 13:49   ` Jan Kiszka
2012-03-24 16:26 ` [Qemu-devel] [PATCH 3/4] Enable qemu-timer dynticks " Lee Essen
2012-03-27 15:01   ` Paolo Bonzini
2012-03-27 15:08     ` Jan Kiszka
2012-03-27 15:52       ` Paolo Bonzini
2012-03-27 16:00         ` Jan Kiszka
2012-03-27 17:49           ` Peter Portante
2012-03-24 16:26 ` [Qemu-devel] [PATCH 4/4] qga/channel-posix: provide Solaris alternative to O_ASYNC Lee Essen
2012-03-27 14:56   ` Paolo Bonzini [this message]
2012-03-27 15:12     ` Andreas Färber
2012-03-27  7:23 ` [Qemu-devel] [PATCH 1/4] Add socket/xnet libs to configure for Solaris Stefan Hajnoczi
2012-03-27 11:31   ` Andreas Färber
2012-03-27 12:01     ` Lee Essen
2012-03-27 13:06       ` Stefan Hajnoczi
2012-03-27 13:56         ` Andreas Färber
2012-03-27 17:24           ` Blue Swirl
2012-03-28 18:41             ` Andreas Färber
2012-03-28 19:46             ` Andreas Färber
2012-03-27 13:14       ` Andreas Färber
2012-03-27 17:06         ` Blue Swirl
2012-03-28 17:44           ` Andreas Färber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F71D530.30302@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=andreas.faerber@web.de \
    --cc=blauwirbel@gmail.com \
    --cc=lee.essen@nowonline.co.uk \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.