about summary refs log tree commit diff
path: root/src/libnative
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-01-05 11:36:46 -0800
committerbors <bors@rust-lang.org>2014-01-05 11:36:46 -0800
commit4bca7fdf9bdd15a7d008d99dc1252d3c9ffd35be (patch)
tree14b7033fdf1531b4c2ebac7080ff77c9920b0ebb /src/libnative
parent1d9e66c0ebfb16686ca4f57cbc7af1343ad08251 (diff)
parenteadfe0e3c9b55ec48637d5cdae36eca7421a8159 (diff)
downloadrust-4bca7fdf9bdd15a7d008d99dc1252d3c9ffd35be.tar.gz
rust-4bca7fdf9bdd15a7d008d99dc1252d3c9ffd35be.zip
auto merge of #11313 : alexcrichton/rust/fix-native-failure, r=pcwalton
Diffstat (limited to 'src/libnative')
-rw-r--r--src/libnative/lib.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libnative/lib.rs b/src/libnative/lib.rs
index b3b83fda599..9c30e94194d 100644
--- a/src/libnative/lib.rs
+++ b/src/libnative/lib.rs
@@ -73,7 +73,8 @@ pub fn start(argc: int, argv: **u8, main: proc()) -> int {
         exit_code = Some(run(main.take_unwrap()));
     });
     unsafe { rt::cleanup(); }
-    return exit_code.unwrap();
+    // If the exit code wasn't set, then the task block must have failed.
+    return exit_code.unwrap_or(rt::DEFAULT_ERROR_CODE);
 }
 
 /// Executes a procedure on the current thread in a Rust task context.