Reject persisted failures during precompile

This commit is contained in:
udo
2026-07-18 15:44:44 +00:00
parent b9b70659a3
commit 22efea8ecd
4 changed files with 44 additions and 14 deletions
+2 -2
View File
@@ -1447,7 +1447,7 @@ void compiler_untrack_known_unit(Request* context, String file_name)
});
}
bool compiler_unit_needs_recompile(Request* context, String file_name, bool* source_missing, bool allow_recent_source_stat, bool path_is_normalized)
bool compiler_unit_needs_recompile(Request* context, String file_name, bool* source_missing, bool allow_recent_source_stat, bool path_is_normalized, bool retry_current_failure)
{
if(!path_is_normalized)
file_name = compiler_normalize_unit_path(context, file_name);
@@ -1459,7 +1459,7 @@ bool compiler_unit_needs_recompile(Request* context, String file_name, bool* sou
*source_missing = compile_check.source_missing;
if(compile_check.source_missing)
return(false);
if(compiler_failure_retry_deferred(context, &su, state))
if(!retry_current_failure && compiler_failure_retry_deferred(context, &su, state))
return(false);
return(compile_check.needs_compile);
}
+1 -1
View File
@@ -40,7 +40,7 @@ StringList compiler_list_known_units(Request* context);
void compiler_set_known_units(Request* context, StringList files);
void compiler_track_known_unit(Request* context, String file_name);
void compiler_untrack_known_unit(Request* context, String file_name);
bool compiler_unit_needs_recompile(Request* context, String file_name, bool* source_missing = 0, bool allow_recent_source_stat = false, bool path_is_normalized = false);
bool compiler_unit_needs_recompile(Request* context, String file_name, bool* source_missing = 0, bool allow_recent_source_stat = false, bool path_is_normalized = false, bool retry_current_failure = false);
DValue unit_info(String path = "");
StringList units_list();
bool unit_compile(String path = "");