From 43b08f12c47af1fabaffeeeaab43aaebecb60b1b Mon Sep 17 00:00:00 2001 From: Matheus Date: Sat, 20 Apr 2024 21:24:07 -0300 Subject: [PATCH] keyboard: do poll_event --- kernel-src/io/keyboard.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel-src/io/keyboard.c b/kernel-src/io/keyboard.c index f2cb6e39..7c7ac29b 100644 --- a/kernel-src/io/keyboard.c +++ b/kernel-src/io/keyboard.c @@ -96,15 +96,18 @@ void keyboard_sendpacket(keyboard_t *kb, kbpacket_t *packet) { spinlock_acquire(&kb->lock); - if (ringbuffer_write(&kb->packetbuffer, packet, sizeof(kbpacket_t)) != 0) + if (ringbuffer_write(&kb->packetbuffer, packet, sizeof(kbpacket_t)) != 0) { semaphore_signal(&kb->semaphore); - + poll_event(&kb->pollheader, POLLIN); + } spinlock_release(&kb->lock); spinlock_acquire(&keyboard_console->lock); - if (ringbuffer_write(&keyboard_console->packetbuffer, packet, sizeof(kbpacket_t)) != 0) + if (ringbuffer_write(&keyboard_console->packetbuffer, packet, sizeof(kbpacket_t)) != 0) { semaphore_signal(&keyboard_console->semaphore); + poll_event(&keyboard_console->pollheader, POLLIN); + } spinlock_release(&keyboard_console->lock);