aboutsummaryrefslogtreecommitdiffstats
path: root/hw
diff options
context:
space:
mode:
authorVladimir Chtchetkine <vchtchetkine@google.com>2011-08-25 08:06:26 -0700
committerVladimir Chtchetkine <vchtchetkine@google.com>2011-08-25 08:06:26 -0700
commitfd16505ce923202f0abe74bfe7c3ba110d325ebe (patch)
treee7db685afc43702513f520c689e267987321d24e /hw
parent6c13702fee11a40c72e71432c5438fc65602bd5d (diff)
downloadexternal_qemu-fd16505ce923202f0abe74bfe7c3ba110d325ebe.zip
external_qemu-fd16505ce923202f0abe74bfe7c3ba110d325ebe.tar.gz
external_qemu-fd16505ce923202f0abe74bfe7c3ba110d325ebe.tar.bz2
Fix qemu pipe's 'poll' callbacks
Throughout emulator's code pipe's 'poll' callback was returning PIPE_WAKE_XXX, instead of PIPE_POLL_XXX flags. This created whole sort of issues with the qemu pipe service <-> client communications. This is also a fix for http://b/issue?id=5196348 Change-Id: I92202cf4ef4554559eb022c4410ee93923edec1b
Diffstat (limited to 'hw')
-rw-r--r--hw/goldfish_pipe.c12
-rw-r--r--hw/goldfish_pipe.h2
2 files changed, 7 insertions, 7 deletions
diff --git a/hw/goldfish_pipe.c b/hw/goldfish_pipe.c
index b46a8b8..2227093 100644
--- a/hw/goldfish_pipe.c
+++ b/hw/goldfish_pipe.c
@@ -323,7 +323,7 @@ pipeConnector_recvBuffers( void* opaque, GoldfishPipeBuffer* buffers, int numBuf
static unsigned
pipeConnector_poll( void* opaque )
{
- return PIPE_WAKE_WRITE;
+ return PIPE_POLL_OUT;
}
static void
@@ -406,7 +406,7 @@ zeroPipe_recvBuffers( void* opaque, GoldfishPipeBuffer* buffers, int numBuffers
static unsigned
zeroPipe_poll( void* opaque )
{
- return PIPE_WAKE_READ | PIPE_WAKE_WRITE;
+ return PIPE_POLL_IN | PIPE_POLL_OUT;
}
static void
@@ -597,10 +597,10 @@ pingPongPipe_poll( void* opaque )
unsigned ret = 0;
if (pipe->count < pipe->size)
- ret |= PIPE_WAKE_WRITE;
+ ret |= PIPE_POLL_OUT;
if (pipe->count > 0)
- ret |= PIPE_WAKE_READ;
+ ret |= PIPE_POLL_IN;
return ret;
}
@@ -768,10 +768,10 @@ throttlePipe_poll( void* opaque )
unsigned ret = pingPongPipe_poll(&pipe->pingpong);
if (pipe->sendExpiration > 0)
- ret &= ~PIPE_WAKE_WRITE;
+ ret &= ~PIPE_POLL_OUT;
if (pipe->recvExpiration > 0)
- ret &= ~PIPE_WAKE_READ;
+ ret &= ~PIPE_POLL_IN;
return ret;
}
diff --git a/hw/goldfish_pipe.h b/hw/goldfish_pipe.h
index be5c449..8074619 100644
--- a/hw/goldfish_pipe.h
+++ b/hw/goldfish_pipe.h
@@ -85,7 +85,7 @@ typedef struct {
int (*recvBuffers)( void* pipe, GoldfishPipeBuffer* buffers, int numBuffers );
/* Called when guest wants to poll the read/write status for the pipe.
- * Should return a combination of PIPE_WAKE_XXX flags.
+ * Should return a combination of PIPE_POLL_XXX flags.
*/
unsigned (*poll)( void* pipe );