diff options
author | Michael Brown | 2011-03-02 20:29:24 +0100 |
---|---|---|
committer | Michael Brown | 2011-03-02 20:29:24 +0100 |
commit | 3c9c27b8e68f51ee008cdbf0a57ad3ab7483b631 (patch) | |
tree | 44bd9071244c8f1daacfa805de0bb107f97002b3 /src/core/downloader.c | |
parent | [int13] Automatically reopen underlying block device as needed (diff) | |
download | ipxe-3c9c27b8e68f51ee008cdbf0a57ad3ab7483b631.tar.gz ipxe-3c9c27b8e68f51ee008cdbf0a57ad3ab7483b631.tar.xz ipxe-3c9c27b8e68f51ee008cdbf0a57ad3ab7483b631.zip |
[image] Allow download job to complete before acting upon image
Allow the monojob controlling the download to complete before calling
register_image() and friends. This allows the trailing "ok" from
monojob.c to be printed before the image starts executing (and
possibly printing output of its own).
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core/downloader.c')
-rw-r--r-- | src/core/downloader.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/core/downloader.c b/src/core/downloader.c index 3e21ee9a..6e107bee 100644 --- a/src/core/downloader.c +++ b/src/core/downloader.c @@ -50,8 +50,6 @@ struct downloader { struct image *image; /** Current position within image buffer */ size_t pos; - /** Image registration routine */ - int ( * register_image ) ( struct image *image ); }; /** @@ -75,10 +73,6 @@ static void downloader_free ( struct refcnt *refcnt ) { */ static void downloader_finished ( struct downloader *downloader, int rc ) { - /* Register image if download was successful */ - if ( rc == 0 ) - rc = downloader->register_image ( downloader->image ); - /* Shut down interfaces */ intf_shutdown ( &downloader->xfer, rc ); intf_shutdown ( &downloader->job, rc ); @@ -219,7 +213,6 @@ static struct interface_descriptor downloader_job_desc = * * @v job Job control interface * @v image Image to fill with downloaded file - * @v register_image Image registration routine * @v type Location type to pass to xfer_open() * @v ... Remaining arguments to pass to xfer_open() * @ret rc Return status code @@ -229,7 +222,6 @@ static struct interface_descriptor downloader_job_desc = * image registration routine @c register_image() will be called. */ int create_downloader ( struct interface *job, struct image *image, - int ( * register_image ) ( struct image *image ), int type, ... ) { struct downloader *downloader; va_list args; @@ -245,7 +237,6 @@ int create_downloader ( struct interface *job, struct image *image, intf_init ( &downloader->xfer, &downloader_xfer_desc, &downloader->refcnt ); downloader->image = image_get ( image ); - downloader->register_image = register_image; va_start ( args, type ); /* Instantiate child objects and attach to our interfaces */ |