summaryrefslogtreecommitdiff
path: root/runtime/ops/process.rs
AgeCommit message (Collapse)Author
2023-03-18Reland "perf(core): preserve ops between snapshots (#18080)" (#18272)Bartek Iwańczuk
Relanding 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4
2023-03-18Revert "perf(core): preserve ops between snapshots (#18080)" (#18267)Bartek Iwańczuk
This reverts commit 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4.
2023-03-18perf(core): preserve ops between snapshots (#18080)Bartek Iwańczuk
This commit changes the build process in a way that preserves already registered ops in the snapshot. This allows us to skip creating hundreds of "v8::String" on each startup, but sadly there is still some op registration going on startup (however we're registering 49 ops instead of >200 ops). This situation could be further improved, by moving some of the ops from "runtime/" to a separate extension crates. --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-03-17feat(core) deno_core::extension! macro to simplify extension registration ↵Matt Mastracci
(#18210) This implements two macros to simplify extension registration and centralize a lot of the boilerplate as a base for future improvements: * `deno_core::ops!` registers a block of `#[op]`s, optionally with type parameters, useful for places where we share lists of ops * `deno_core::extension!` is used to register an extension, and creates two methods that can be used at runtime/snapshot generation time: `init_ops` and `init_ops_and_esm`. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-06chore(tests): ability to capture stdout and stderr separately (#18035)David Sherret
This is to allow making assertions on stdout and stderr separately.
2023-03-05refactor(runtime): merge "spawn" into "process" (#18022)Bartek Iwańczuk
This commit merges "runtime/js/40_spawn.js" into "runtime/js/40_process.js", and "runtime::ops::spawn" into "runtime::ops::process". It makes little sense to have them separated given that we want to factor out these APIs into a separate extension crate.
2023-03-05refactor(runtime): factor out deno_io extension crate (#18001)Bartek Iwańczuk
This is a prerequisite to factor out FS ops to a separate crate.
2023-01-27chore: upgrade to Rust 1.67 (#17548)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-14chore: use rustfmt imports_granularity option (#17421)Divy Srivastava
Closes https://github.com/denoland/deno/issues/2699 Closes https://github.com/denoland/deno/issues/2347 Uses unstable rustfmt features. Since dprint invokes `rustfmt` we do not need to switch the cargo toolchain to nightly. Do we care about formatting stability of our codebase across Rust versions? (I don't)
2023-01-08feat(core): allow specifying name and dependencies of an Extension (#17301)Leo Kettmeir
2023-01-07refactor(permissions): add PermissionsContainer struct for internal ↵Bartek Iwańczuk
mutability (#17134) Turns out we were cloning permissions which after prompting were discarded, so the state of permissions was never preserved. To handle that we need to store all permissions behind "Arc<Mutex<>>" (because there are situations where we need to send them to other thread). Testing and benching code still uses "Permissions" in most places - it's undesirable to share the same permission set between various test/bench files - otherwise granting or revoking permissions in one file would influence behavior of other test files.
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-09-27feat: Add requesting API name to permission prompt (#15936)Bartek Iwańczuk
Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com>
2022-09-19chore: fix clippy warnings (#15944)Ben Noordhuis
Stop allowing clippy::derive-partial-eq-without-eq and fix warnings about deriving PartialEq without also deriving Eq. In one case I removed the PartialEq because it a) wasn't necessary, and b) sketchy because it was comparing floating point numbers. IMO, that's a good argument for enforcing the lint rule, because it would most likely have been caught during review if it had been enabled.
2022-07-15chore: fix Windows specific clippy errors (#15212)David Sherret
2022-06-26build: require safety comments on unsafe code (#13870)Luca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-06-14refactor(runtime/signal): revert SIGINT and SIGBREAK `Deno.kill` Windows ↵David Sherret
changes (#14865)
2022-06-13feat(runtime/signal): implement SIGINT and SIGBREAK for windows (#14694)Geert-Jan Zwiers
This commit adds support for SIGINT and SIGBREAK signals on Windows platform. Co-authored-by: orange soeur <juzi201314@gmail.com>
2022-05-15Revert "refactor(runtime): change from signal_str_to_int function to enum ↵Leo Kettmeir
(#14539)" (#14606) This reverts commit c496639d5dc190b107222bc30462d67ddb86c223.
2022-05-14refactor(runtime): change from signal_str_to_int function to enum (#14539)Leo Kettmeir
2022-05-11fix: stdout and stderr encoding on Windows (#14559)David Sherret
2022-04-26fix(test): capture inherited stdout and stderr for subprocesses in test ↵David Sherret
output (#14395)
2022-04-26refactor(ops/process): add `StdioOrRid` enum (#14393)David Sherret
2022-03-14feat(ops): custom arity (#13949)Aaron O'Mullan
Also cleanup & drop ignored wildcard op-args
2022-03-14feat(core): codegen ops (#13861)Divy Srivastava
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-11-02chore: update to Rust edition 2021 (#12578)Bartek Iwańczuk
2021-10-10feat: Stabilize Deno.kill and Deno.Process.kill (#12375)Ryan Dahl
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-10-07fix(runtime): don't equate SIGINT to SIGKILL on Windows (#12356)Bert Belder
2021-09-27fix: subprocess kill support on windows (#12134)Luca Casonato
2021-09-25cleanup(runtime): flatten op_kill's args (#12214)Aaron O'Mullan
2021-09-14chore: bump crate versions for 0.14 (#12072)David Sherret
2021-09-13feat(unstable): allow specifing gid and uid for subprocess (#11586)Leo K
2021-09-07fix: remove windows-only panic when calling `Deno.kill` (#11948)David Sherret
2021-09-06BREAKING(unstable): Remove Deno.Signals enum, Deno.signals.* (#11909)Ryan Dahl
2021-08-15refactor(ops): return BadResource errors in ResourceTable calls (#11710)Aaron O'Mullan
* refactor(ops): return BadResource errors in ResourceTable calls Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-04feat(unstable): clean environmental variables for subprocess (#11571)Leo K
This commit adds "Deno.RunOptions.clearEnv" option, that allows to clear environmental variables from parent process before spawning a subprocess.
2021-05-08cleanup(ops): remove unused ZeroCopyBuf arg-types (#10530)Aaron O'Mullan
2021-05-02refactor(runtime): use Extensions (#10461)Aaron O'Mullan
2021-04-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
2021-04-12feat(runtime/permissions): prompt fallback (#9376)crowlKats
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-04-10feat(permissions): allow run permission to take values (#9833)crowlKats
This commit adds allowlist support to `--allow-run` flag. Additionally `Deno.permissions.query()` allows to query for specific programs within allowlist.
2021-04-05refactor: convert ops to use serde_v8 (#10009)Aaron O'Mullan
This commit rewrites most of the ops to use "serde_v8" instead of "json" serialization.
2021-04-02refactor(ops): remove variadic buffers (#9944)Aaron O'Mullan
2021-03-19chores: enforce type ResourceId across codebase (#9837)Divy Srivastava
2021-03-18normalize rids (#9832)crowlKats
2021-03-18move runtime ops to serde ops (#9828)crowlKats
2021-03-17refactor: clean up permission handling (#9367)crowlKats
2021-01-29refactor: IO resource types, fix concurrent read/write and graceful close ↵Bert Belder
(#9118) Fixes: 9032.
2021-01-14refactor: make Process#kill() throw sensible errors on Windows (#9111)Bert Belder
Previously, calling `Process#kill()` after the process had exited would sometimes throw a `TypeError` on Windows. After this patch, it will throw `NotFound` instead, just like other platforms. This patch also fixes flakiness of the `runKillAfterStatus` test on Windows.