1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-05 13:59:01 -05:00

fix(ext/node): add process.abort() (#21742)

This commit is contained in:
Divy Srivastava 2023-12-30 20:30:55 +05:30 committed by Bartek Iwańczuk
parent d3ef599c8f
commit 73b703213e
No known key found for this signature in database
GPG key ID: 0C6BCDDC3B3AD750
3 changed files with 13 additions and 0 deletions

View file

@ -282,6 +282,7 @@ deno_core::extension!(deno_node,
ops::os::op_node_os_username<P>,
ops::os::op_geteuid<P>,
ops::os::op_cpus<P>,
ops::os::op_process_abort,
op_node_build_os,
op_node_is_promise_rejected,
op_npm_process_state,

View file

@ -75,6 +75,11 @@ where
Ok(euid)
}
#[op2(fast)]
pub fn op_process_abort() {
std::process::abort();
}
#[op2]
#[serde]
pub fn op_cpus<P>(state: &mut OpState) -> Result<Vec<cpus::CpuInfo>, AnyError>

View file

@ -98,6 +98,10 @@ export const exit = (code?: number | string) => {
process.reallyExit(process.exitCode || 0);
};
export const abort = () => {
ops.op_process_abort();
};
function addReadOnlyProcessAlias(
name: string,
option: string,
@ -415,6 +419,9 @@ class Process extends EventEmitter {
/** https://nodejs.org/api/process.html#process_process_exit_code */
exit = exit;
/** https://nodejs.org/api/process.html#processabort */
abort = abort;
// Undocumented Node API that is used by `signal-exit` which in turn
// is used by `node-tap`. It was marked for removal a couple of years
// ago. See https://github.com/nodejs/node/blob/6a6b3c54022104cc110ab09044a2a0cecb8988e7/lib/internal/bootstrap/node.js#L172