| ... | ... | @@ -428,16 +428,21 @@ fn workerMakeOneStep( |
| 428 | 428 | // For example, CompileStep does some sus things with modifying the saved |
| 429 | 429 | // *Build object in install header steps that might be able to be removed |
| 430 | 430 | // by passing the *Build object through the make() functions. |
| 431 | | s.make() catch |err| { |
| 432 | | s.result.err_code = err; |
| 433 | | @atomicStore(Step.State, &s.state, .failure, .SeqCst); |
| 431 | const make_result = s.make(); |
| 434 | 432 | |
| 433 | // No matter the result, we want to display error/warning messages. |
| 434 | if (s.result.error_msgs.items.len > 0) { |
| 435 | 435 | sub_prog_node.context.lock_stderr(); |
| 436 | 436 | defer sub_prog_node.context.unlock_stderr(); |
| 437 | 437 | |
| 438 | 438 | for (s.result.error_msgs.items) |msg| { |
| 439 | | std.io.getStdErr().writeAll(msg) catch return; |
| 439 | std.io.getStdErr().writeAll(msg) catch break; |
| 440 | 440 | } |
| 441 | } |
| 442 | |
| 443 | make_result catch |err| { |
| 444 | s.result.err_code = err; |
| 445 | @atomicStore(Step.State, &s.state, .failure, .SeqCst); |
| 441 | 446 | return; |
| 442 | 447 | }; |
| 443 | 448 | |