diff options
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386/console/inch.c')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/console/inch.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/console/inch.c b/c/src/lib/libbsp/i386/pc386/console/inch.c index 047269e4f0..f5d5079236 100644 --- a/c/src/lib/libbsp/i386/pc386/console/inch.c +++ b/c/src/lib/libbsp/i386/pc386/console/inch.c @@ -260,13 +260,17 @@ int BSP_wait_polled_input(void) int rtems_kbpoll( void ) { int rc; - rtems_interrupt_level level; - rtems_interrupt_disable(level); + /* + * The locking or disable of interrupts does not help + * there because if interrupts are enabled after leave of this + * function the state can change without notice anyway. + */ + RTEMS_COMPILER_MEMORY_BARRIER(); rc = ( kbd_first != kbd_last ) ? TRUE : FALSE; - rtems_interrupt_enable(level); + RTEMS_COMPILER_MEMORY_BARRIER(); return rc; } |