Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/usermode/usermode Add template code for a client dr...
details: https://anonhg.NetBSD.org/src/rev/b4bec03d8e53
branches: trunk
changeset: 772360:b4bec03d8e53
user: reinoud <reinoud%NetBSD.org@localhost>
date: Fri Dec 30 21:14:58 2011 +0000
description:
Add template code for a client driven display update request. This is
currently not possible since its event parameter is not allways passed.
diffstat:
sys/arch/usermode/usermode/thunk.c | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diffs (50 lines):
diff -r e4becab13767 -r b4bec03d8e53 sys/arch/usermode/usermode/thunk.c
--- a/sys/arch/usermode/usermode/thunk.c Fri Dec 30 20:33:04 2011 +0000
+++ b/sys/arch/usermode/usermode/thunk.c Fri Dec 30 21:14:58 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: thunk.c,v 1.67 2011/12/30 20:08:00 jmcneill Exp $ */
+/* $NetBSD: thunk.c,v 1.68 2011/12/30 21:14:58 reinoud Exp $ */
/*-
* Copyright (c) 2011 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
#ifdef __NetBSD__
-__RCSID("$NetBSD: thunk.c,v 1.67 2011/12/30 20:08:00 jmcneill Exp $");
+__RCSID("$NetBSD: thunk.c,v 1.68 2011/12/30 21:14:58 reinoud Exp $");
#endif
#include <sys/types.h>
@@ -1165,10 +1165,11 @@
thunk_rfb_update(rfb, 0, 0, rfb->width, rfb->height);
}
- thunk_rfb_send_pending(rfb);
if (rfb->clientfd == -1)
return -1;
+ thunk_rfb_send_pending(rfb);
+
if (event == NULL)
return 0;
@@ -1201,7 +1202,17 @@
msg_len = 4 * ntohs(*(uint16_t *)&set_encodings[1]);
break;
case THUNK_RFB_FRAMEBUFFER_UPDATE_REQUEST:
- msg_len = sizeof(framebuffer_update_request);
+ recv(rfb->clientfd, framebuffer_update_request,
+ sizeof(framebuffer_update_request), MSG_NOSIGNAL);
+#if 0
+ if (framebuffer_update_request[0] == 0) {
+fprintf(stdout, "complete update request\n");
+ /* complete redraw request -> buffer full */
+ rfb->nupdates = __arraycount(rfb->update);
+ }
+ thunk_rfb_send_pending(rfb);
+#endif
+ msg_len = 0;
break;
case THUNK_RFB_KEY_EVENT:
recv(rfb->clientfd, key_event, sizeof(key_event), MSG_NOSIGNAL);
Home |
Main Index |
Thread Index |
Old Index