From 63e5017d9863d4ed215782e469e8ee2c6ff8473d Mon Sep 17 00:00:00 2001 From: Miguel Date: Tue, 9 Oct 2018 16:21:32 +0200 Subject: fix pipers --- kernel/interrupts.c | 2 +- kernel/ringbuffer.c | 7 ++++++- kernel/scheduler.c | 2 +- kernel/syscalls.c | 5 ++++- 4 files changed, 12 insertions(+), 4 deletions(-) (limited to 'kernel') diff --git a/kernel/interrupts.c b/kernel/interrupts.c index aed1a50..2ab1490 100644 --- a/kernel/interrupts.c +++ b/kernel/interrupts.c @@ -80,7 +80,7 @@ uint32_t interrupt_handler(uint32_t esp, uint32_t irq) { if(cpu==0) { - compositor_wake(); + compositor_wake2(); scheduler_wake_worker(esp); } } diff --git a/kernel/ringbuffer.c b/kernel/ringbuffer.c index 3886340..3526f4d 100644 --- a/kernel/ringbuffer.c +++ b/kernel/ringbuffer.c @@ -1,5 +1,6 @@ #include "ringbuffer.h" #include "kmalloc.h" +#include "log.h" ringbuffer ringbuffer_init(uint32_t size) { @@ -37,7 +38,11 @@ bool ringbuffer_has(ringbuffer* f) bool ringbuffer_put(ringbuffer* f,uint8_t c) { - if(ringbuffer_full(f))return false; + if(ringbuffer_full(f)) + { + klog("ringbuffer is full!"); + return false; + } f->data[f->back]=c; f->back--; diff --git a/kernel/scheduler.c b/kernel/scheduler.c index 12c4ffd..bddd705 100644 --- a/kernel/scheduler.c +++ b/kernel/scheduler.c @@ -346,7 +346,7 @@ void task_syscall_worker() wake_mouse|=mouse_worker(); //x86_sti(); - //if(wake_mouse) + if(wake_mouse)compositor_wake(); compositor_swap_buffers(); if(wake)scheduler_wake_all(); diff --git a/kernel/syscalls.c b/kernel/syscalls.c index 8ff6241..d579dc3 100644 --- a/kernel/syscalls.c +++ b/kernel/syscalls.c @@ -198,6 +198,7 @@ int syscall_write(int file, char *buf, int len,uint32_t pid) if(!open_fd[pid][file])kpanic("writing to closed file descriptor"); for(int i=0;i