diff options
author | Michael Brown <mcb30@etherboot.org> | 2007-01-16 08:10:54 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2007-01-16 08:10:54 +0000 |
commit | ff8528ea9a69ca2ef6cfbed0b7a1283e165aabe6 (patch) | |
tree | bae0e953c128a5d49bedd2f502325b938078635f /src/usr/dhcpmgmt.c | |
parent | f11da20f25ce4535f2731e403071b03f7118d40f (diff) | |
download | ipxe-ff8528ea9a69ca2ef6cfbed0b7a1283e165aabe6.tar.gz |
Create and use async_block() macro; it cuts down on the visual overhead
of blocking on asynchronous operations, when that isn't an important
aspect of the code.
Diffstat (limited to 'src/usr/dhcpmgmt.c')
-rw-r--r-- | src/usr/dhcpmgmt.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/usr/dhcpmgmt.c b/src/usr/dhcpmgmt.c index 90ed62bf..6f030274 100644 --- a/src/usr/dhcpmgmt.c +++ b/src/usr/dhcpmgmt.c @@ -20,6 +20,7 @@ #include <byteswap.h> #include <vsprintf.h> #include <gpxe/in.h> +#include <gpxe/ip.h> #include <gpxe/dhcp.h> #include <gpxe/async.h> #include <gpxe/netdevice.h> @@ -65,13 +66,8 @@ int dhcp ( struct net_device *netdev ) { printf ( "DHCP (%s %s)...", netdev->name, netdev_hwaddr ( netdev ) ); memset ( &dhcp, 0, sizeof ( dhcp ) ); dhcp.netdev = netdev; - async_init_orphan ( &async ); - if ( ( rc = start_dhcp ( &dhcp, &async ) ) != 0 ) { - printf ( "could not start (%s)\n", strerror ( rc ) ); - return rc; - } - async_wait ( &async, &rc, 1 ); - if ( rc != 0 ) { + if ( ( rc = async_block ( &async, + start_dhcp ( &dhcp, &async ) ) ) != 0 ) { printf ( "failed (%s)\n", strerror ( rc ) ); return rc; } |