zephyr/zephyr_getchar: Explicitly yield to other threads on char availability.
Without this, if there's a large chunk of data coming from hardware (e.g. clipboard paste, or fed programmatically from the other side of the console), there's a behavior of initial mass fill-in of the buffer without any consumption, which starts much later and doesn't catch up with further filling, leading to buffer overflow.
This commit is contained in:
parent
468c6f9da1
commit
58168c8e6b
@ -44,6 +44,7 @@ static int console_irq_input_hook(uint8_t ch)
|
||||
}
|
||||
//printk("%x\n", ch);
|
||||
k_sem_give(&uart_sem);
|
||||
k_yield();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user