keyboard: do poll_event

This commit is contained in:
Matheus
2024-04-20 21:24:07 -03:00
parent 47d2b42b11
commit 43b08f12c4
+6 -3
View File
@@ -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);