summaryrefslogtreecommitdiff
path: root/runtime/ops/os/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ops/os/mod.rs')
-rw-r--r--runtime/ops/os/mod.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/runtime/ops/os/mod.rs b/runtime/ops/os/mod.rs
index 7a71590ba..f6f55f68f 100644
--- a/runtime/ops/os/mod.rs
+++ b/runtime/ops/os/mod.rs
@@ -32,6 +32,7 @@ deno_core::extension!(
op_os_uptime,
op_set_env,
op_set_exit_code,
+ op_get_exit_code,
op_system_memory_info,
op_uid,
op_runtime_memory_usage,
@@ -60,12 +61,13 @@ deno_core::extension!(
op_os_uptime,
op_set_env,
op_set_exit_code,
+ op_get_exit_code,
op_system_memory_info,
op_uid,
op_runtime_memory_usage,
],
middleware = |op| match op.name {
- "op_exit" | "op_set_exit_code" =>
+ "op_exit" | "op_set_exit_code" | "op_get_exit_code" =>
op.with_implementation_from(&deno_core::op_void_sync()),
_ => op,
},
@@ -165,6 +167,12 @@ fn op_set_exit_code(state: &mut OpState, #[smi] code: i32) {
}
#[op2(fast)]
+#[smi]
+fn op_get_exit_code(state: &mut OpState) -> i32 {
+ state.borrow_mut::<ExitCode>().get()
+}
+
+#[op2(fast)]
fn op_exit(state: &mut OpState) {
let code = state.borrow::<ExitCode>().get();
std::process::exit(code)