- bug fix

This commit is contained in:
Marian Ohligs 2011-08-06 19:05:46 +02:00
parent cdc6707852
commit 8591645bb3
2 changed files with 7 additions and 6 deletions

View file

@ -33,7 +33,7 @@ void kb_flush() {
kb_buffer.buffer = NULL;
kb_buffer.size = 0;
kb_buffer.maxsize = 0;
kb_buffer.tid = 0;
//kb_buffer.tid = 0;
return;
}
@ -121,7 +121,7 @@ static void keyboard_handler(struct state *r)
kb_buffer.size++;
}
if (scancode == 28 || scancode == 15 || kb_buffer.size >= kb_buffer.maxsize) {
wakeup_task(kb_buffer.tid);
//wakeup_task(kb_buffer.tid);
reschedule();
}
}

View file

@ -34,11 +34,12 @@ static ssize_t stdin_read(fildes_t* file, uint8_t* buffer, size_t size)
kb_buffer.buffer = kmalloc(size * sizeof(char));
kb_buffer.maxsize = size;
kb_buffer.size = 0;
kb_buffer.tid = per_core(current_task)->id;
block_task(per_core(current_task)->id);
reschedule();
//kb_buffer.tid = per_core(current_task)->id;
while(!kb_buffer.size) {
reschedule();
size = kb_buffer.size;
}
size = kb_buffer.size;
memcpy(buffer, kb_buffer.buffer, size);
/*cleaning up */