[Qemu-devel] [PATCH 2/5] use qemu_pipe_non_block

2013-06-04 Thread Alon Levy
This fixes six instances of unchecked fcntl return status, spotted by
Coverity.

Signed-off-by: Alon Levy al...@redhat.com
---
 hw/display/qxl.c| 10 +++---
 hw/usb/ccid-card-emulated.c |  8 +++-
 2 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 9e5b7ad..25c8c5a 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -1797,15 +1797,11 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t 
events)
 
 static void init_pipe_signaling(PCIQXLDevice *d)
 {
-if (pipe(d-pipe)  0) {
-fprintf(stderr, %s:%s: qxl pipe creation failed\n,
-__FILE__, __func__);
+if (qxl_pipe_non_block(d-pipe)) {
+fprintf(stderr, %s:%s: qxl pipe creation failed: %s\n,
+__FILE__, __func__, stderror(errno));
 exit(1);
 }
-fcntl(d-pipe[0], F_SETFL, O_NONBLOCK);
-fcntl(d-pipe[1], F_SETFL, O_NONBLOCK);
-fcntl(d-pipe[0], F_SETOWN, getpid());
-
 qemu_thread_get_self(d-main);
 qemu_set_fd_handler(d-pipe[0], pipe_read, NULL, d);
 }
diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
index deb6d47..2e6942e 100644
--- a/hw/usb/ccid-card-emulated.c
+++ b/hw/usb/ccid-card-emulated.c
@@ -406,13 +406,11 @@ static void pipe_read(void *opaque)
 
 static int init_pipe_signaling(EmulatedState *card)
 {
-if (pipe(card-pipe)  0) {
-DPRINTF(card, 2, pipe creation failed\n);
+if (qemu_pipe_non_block(card-pipe)  0) {
+DPRINTF(card, 2, pipe creation failed: %s\n,
+strerror(errno));
 return -1;
 }
-fcntl(card-pipe[0], F_SETFL, O_NONBLOCK);
-fcntl(card-pipe[1], F_SETFL, O_NONBLOCK);
-fcntl(card-pipe[0], F_SETOWN, getpid());
 qemu_set_fd_handler(card-pipe[0], pipe_read, NULL, card);
 return 0;
 }
-- 
1.8.2.1




Re: [Qemu-devel] [PATCH 2/5] use qemu_pipe_non_block

2013-06-04 Thread Paolo Bonzini
Il 04/06/2013 22:23, Alon Levy ha scritto:
 This fixes six instances of unchecked fcntl return status, spotted by
 Coverity.

I think we're just assuming that they cannot fail...  I don't think we
need the previous patch and this one, unless they help porting stuff to
Windows.

Paolo



Re: [Qemu-devel] [PATCH 2/5] use qemu_pipe_non_block

2013-06-04 Thread Peter Maydell
On 4 June 2013 21:23, Alon Levy al...@redhat.com wrote:
 --- a/hw/display/qxl.c
 +++ b/hw/display/qxl.c
 @@ -1797,15 +1797,11 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t 
 events)

  static void init_pipe_signaling(PCIQXLDevice *d)
  {
 -if (pipe(d-pipe)  0) {
 -fprintf(stderr, %s:%s: qxl pipe creation failed\n,
 -__FILE__, __func__);
 +if (qxl_pipe_non_block(d-pipe)) {

Surely this can't compile? -- this function doesn't exist.

thanks
-- PMM



Re: [Qemu-devel] [PATCH 2/5] use qemu_pipe_non_block

2013-06-04 Thread Alon Levy
 On 4 June 2013 21:23, Alon Levy al...@redhat.com wrote:
  --- a/hw/display/qxl.c
  +++ b/hw/display/qxl.c
  @@ -1797,15 +1797,11 @@ static void qxl_send_events(PCIQXLDevice *d,
  uint32_t events)
 
   static void init_pipe_signaling(PCIQXLDevice *d)
   {
  -if (pipe(d-pipe)  0) {
  -fprintf(stderr, %s:%s: qxl pipe creation failed\n,
  -__FILE__, __func__);
  +if (qxl_pipe_non_block(d-pipe)) {
 
 Surely this can't compile? -- this function doesn't exist.

I am abusing my right to post to this list, sorry. I didn't actually try to 
compile.

 
 thanks
 -- PMM
 
 



Re: [Qemu-devel] [PATCH 2/5] use qemu_pipe_non_block

2013-06-04 Thread Alon Levy
 Il 04/06/2013 22:23, Alon Levy ha scritto:
  This fixes six instances of unchecked fcntl return status, spotted by
  Coverity.
 
 I think we're just assuming that they cannot fail...  I don't think we
 need the previous patch and this one, unless they help porting stuff to
 Windows.

This was purely to satisfy coverity, but I thought we would want to check fcntl 
return status? also, shouldn't we be looping if EINTR?

 
 Paolo
 
 



Re: [Qemu-devel] [PATCH 2/5] use qemu_pipe_non_block

2013-06-04 Thread Peter Maydell
On 4 June 2013 21:59, Alon Levy al...@redhat.com wrote:
 shouldn't we be looping if EINTR?

Don't open that can of worms if you value your sanity ;-)

-- PMM