Send event-channel notification from console daemon

to guest console driver when the output ring is
emptied. This can be used to kick transmission of
more characters without needing to poll.

Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2005-10-05 16:32:07 +01:00
1 parent a93d14138b
commit 4a4ad39633
1 file changed
+6
+6
View File
@@ -86,8 +86,11 @@ static void buffer_append(struct domain *dom)
struct ring_head *ring = (struct ring_head *)dom->page;
size_t size;
u32 oldcons;
int notify = 0;
while ((size = ring->prod - ring->cons) != 0) {
notify = 1;
if ((buffer->capacity - buffer->size) < size) {
buffer->capacity += (size + 1024);
buffer->data = realloc(buffer->data, buffer->capacity);
@@ -115,6 +118,9 @@ static void buffer_append(struct domain *dom)
buffer->capacity = buffer->max_capacity;
}
}
if (notify)
xc_evtchn_send(xc, dom->local_port);
}
static bool buffer_empty(struct buffer *buffer)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.