From e934447a60e7d9fe84e246ad03c1a16d4bb88a9b Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 9 Mar 2011 17:32:32 +0000 Subject: [script] Allow scripts to be replaced A script that downloads a new image using imgdownload() with the action register_and_replace_image() can now be freed immediately before the replacement image is executed. This functionality is not yet exposed via an iPXE command. Signed-off-by: Michael Brown --- src/image/script.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/image') diff --git a/src/image/script.c b/src/image/script.c index 9749b097..161ac682 100644 --- a/src/image/script.c +++ b/src/image/script.c @@ -148,9 +148,13 @@ static int script_exec ( struct image *image ) { rc = process_script ( image, script_exec_line, terminate_on_exit_or_failure ); - /* Restore saved state, re-register image, and return */ + /* Restore saved state */ script_offset = saved_offset; - register_image ( image ); + + /* Re-register image (unless we have been replaced) */ + if ( ! image->replacement ) + register_image ( image ); + return rc; } -- cgit v1.2.3-55-g7522