From: Michael Brown Date: Tue, 27 Jan 2009 20:09:50 +0000 (+0000) Subject: [ui] Allow Ctrl-C to cancel wait for net device link-up X-Git-Tag: v0.9.7~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=52c596bafb6b8367010db190efca386c03b4c04c;p=thirdparty%2Fipxe.git [ui] Allow Ctrl-C to cancel wait for net device link-up This really ought to be handled via monojob.c and the usual Ctrl-C mechanism that handles cancelling DHCP or file downloads. --- diff --git a/src/usr/ifmgmt.c b/src/usr/ifmgmt.c index 72d86137b..0ebf56154 100644 --- a/src/usr/ifmgmt.c +++ b/src/usr/ifmgmt.c @@ -20,9 +20,11 @@ #include #include #include +#include #include #include #include +#include #include /** @file @@ -101,12 +103,19 @@ void ifstat ( struct net_device *netdev ) { * @v max_wait_ms Maximum time to wait, in ms */ int iflinkwait ( struct net_device *netdev, unsigned int max_wait_ms ) { + int key; + while ( 1 ) { if ( netdev_link_ok ( netdev ) ) return 0; if ( max_wait_ms-- == 0 ) return -ETIMEDOUT; step(); + if ( iskey() ) { + key = getchar(); + if ( key == CTRL_C ) + return -ECANCELED; + } mdelay ( 1 ); } }