david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Keep running the main processing loop while waiting for input.

This commit is contained in:
Michael Brown 2006-12-27 22:59:40 +00:00
parent 1a11cc5c5b
commit b6def29f2b
2 changed files with 8 additions and 0 deletions

View File

@ -1,5 +1,6 @@
#include "stddef.h"
#include "console.h"
#include <gpxe/process.h>
/** @file */
@ -97,6 +98,11 @@ int getchar ( void ) {
* less CPU time in a VMware session.
*/
cpu_nap();
/* Keep processing background tasks while we wait for
* input.
*/
step();
console = has_input();
if ( console && console->getchar )

View File

@ -18,6 +18,7 @@
#include <console.h>
#include <latch.h>
#include <gpxe/process.h>
#include <gpxe/keys.h>
/** @file
@ -38,6 +39,7 @@ static int getchar_timeout ( unsigned long timeout ) {
unsigned long expiry = ( currticks() + timeout );
while ( currticks() < expiry ) {
step();
if ( iskey() )
return getchar();
}