Deleted Added
full compact
29c29
< "$FreeBSD: head/sys/boot/efi/libefi/efi_console.c 78327 2001-06-16 05:56:13Z obrien $";
---
> "$FreeBSD: head/sys/boot/efi/libefi/efi_console.c 107682 2002-12-08 19:46:11Z marcel $";
71a72
> EFI_STATUS status;
74,76c75,81
< BS->WaitForEvent(1, &conin->WaitForKey, &junk);
< conin->ReadKeyStroke(conin, &key);
< return key.UnicodeChar;
---
> /* Try to read a key stroke. We wait for one if none is pending. */
> status = conin->ReadKeyStroke(conin, &key);
> if (status == EFI_NOT_READY) {
> BS->WaitForEvent(1, &conin->WaitForKey, &junk);
> status = conin->ReadKeyStroke(conin, &key);
> }
> return (key.UnicodeChar);
82c87,88
< return BS->CheckEvent(conin->WaitForKey) == EFI_SUCCESS;
---
> /* This can clear the signaled state. */
> return (BS->CheckEvent(conin->WaitForKey) == EFI_SUCCESS);