summaryrefslogtreecommitdiff
path: root/userland
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-04-28 21:41:14 +0200
committerAnton Kling <anton@kling.gg>2024-04-28 21:41:14 +0200
commite1271970ae1c36c3bbe1cee215b8cd2f776f723a (patch)
treee9669a930974280d17e3332ac19ed42bcbce9450 /userland
parent507062d51b3e018fdfac838e7982ffe62ff423c5 (diff)
WindowServer: Make mouse_fd non blocking
Diffstat (limited to 'userland')
-rw-r--r--userland/windowserver/ws.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/userland/windowserver/ws.c b/userland/windowserver/ws.c
index 11efa59..4e5905e 100644
--- a/userland/windowserver/ws.c
+++ b/userland/windowserver/ws.c
@@ -163,7 +163,7 @@ void setup(void) {
fds[keyboard_fd_poll].fd = keyboard_fd;
fds[keyboard_fd_poll].events = POLLIN;
fds[keyboard_fd_poll].revents = 0;
- int mouse_fd = open("/dev/mouse", O_RDONLY, 0);
+ int mouse_fd = open("/dev/mouse", O_RDONLY | O_NONBLOCK, 0);
assert(mouse_fd >= 0);
mouse_fd_poll = 2;
fds[mouse_fd_poll].fd = mouse_fd;
@@ -365,8 +365,8 @@ void parse_mouse_event(int fd) {
int middle_button = 0;
int right_button = 0;
int left_button = 0;
+ struct mouse_event e[100];
for (;;) {
- struct mouse_event e[100];
int rc = read(fd, e, sizeof(e));
if (rc <= 0)
break;