Bläddra i källkod

[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 <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 13 år sedan
förälder
incheckning
e934447a60
1 ändrade filer med 6 tillägg och 2 borttagningar
  1. 6
    2
      src/image/script.c

+ 6
- 2
src/image/script.c Visa fil

148
 	rc = process_script ( image, script_exec_line,
148
 	rc = process_script ( image, script_exec_line,
149
 			      terminate_on_exit_or_failure );
149
 			      terminate_on_exit_or_failure );
150
 
150
 
151
-	/* Restore saved state, re-register image, and return */
151
+	/* Restore saved state */
152
 	script_offset = saved_offset;
152
 	script_offset = saved_offset;
153
-	register_image ( image );
153
+
154
+	/* Re-register image (unless we have been replaced) */
155
+	if ( ! image->replacement )
156
+		register_image ( image );
157
+
154
 	return rc;
158
 	return rc;
155
 }
159
 }
156
 
160
 

Laddar…
Avbryt
Spara