Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: fix deadlock on errors
Browse files Browse the repository at this point in the history
Yohe-Am committed Dec 21, 2024
1 parent 3779222 commit 096d02d
Showing 24 changed files with 1,254 additions and 684 deletions.
7 changes: 7 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
[alias]
xtask = "run --package xtask --"
x = "run --package xtask --"

[target.x86_64-unknown-linux-gnu]
rustflags = [
# for use with tokio-rs/console
"--cfg",
"tokio_unstable"
]
69 changes: 53 additions & 16 deletions .ghjk/lock.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"version": "0",
"platform": "x86_64-linux",
"moduleEntries": {
"sys_entries": {
"ports": {
"version": "0",
"configResolutions": {
@@ -287,6 +286,7 @@
},
"ghjkEnvProvInstSet___dev": {
"installs": [
"bciqlfx3mm5hi37g75snjknph6fkniixjhnvyyfxeua7f5z4h7nnqtna",
"bciqlmoqot4jk2lb2b34pldr5iiwsfm3biuipzesjkkwmc2n2o6nlw4q",
"bciqikjfnbntvagpghawbzlfp2es6lnqzhba3qx5de7tdrmvhuzhsjqa",
"bciqfrfun7z7soj7yxzziyvmt2jnebqvneeoozk5vynmg5pa6wqynhvi",
@@ -312,7 +312,7 @@
"lock-sed": {
"ty": "denoFile@v1",
"key": "lock-sed",
"envKey": "bciqcjjccn4eivzzybioty5p5tde6gnafea43rypzxci54tqjfglxyyy"
"envKey": "bciqbs6giotedkicnvrztzwovfr4siq2phoa63wngljmzna6aa4kyciy"
},
"cache-v8": {
"ty": "denoFile@v1",
@@ -339,57 +339,57 @@
}
]
},
"bciqkjh3l5pvnydjxc3gp6autcaurxvw2euj7uz472qureg3p4y5nfuq": {
"bciqonpyvifzte5gf6tl7gtk3ep5q3vst2gqncuznf3kav4mzbuvnpai": {
"desc": "the default default environment.",
"provides": [
{
"ty": "posix.envVar",
"key": "RUST_LOG",
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info"
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info,swc_common=info,h2=info,rustls=info,mio=info,hyper_util=info"
},
{
"ty": "ghjk.ports.InstallSetRef",
"setId": "ghjkEnvProvInstSet___main"
}
]
},
"bciqcjjccn4eivzzybioty5p5tde6gnafea43rypzxci54tqjfglxyyy": {
"bciqbs6giotedkicnvrztzwovfr4siq2phoa63wngljmzna6aa4kyciy": {
"provides": [
{
"ty": "posix.envVar",
"key": "RUST_LOG",
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info"
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info,swc_common=info,h2=info,rustls=info,mio=info,hyper_util=info"
},
{
"ty": "ghjk.ports.InstallSetRef",
"setId": "ghjkEnvProvInstSet___main"
}
]
},
"bciqothoegu7lnencjdk6pjtassehqlzaldan6l67lmtd2slhmvnq5la": {
"bciqm4lt7lvjdt3qzudw24qe4brezcej3ilxxhbmgfo2gdbfmh4j3a7i": {
"provides": [
{
"ty": "posix.envVar",
"key": "RUST_LOG",
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info"
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info,swc_common=info,h2=info,rustls=info,mio=info,hyper_util=info"
},
{
"ty": "ghjk.ports.InstallSetRef",
"setId": "ghjkEnvProvInstSet____rust"
}
]
},
"bciqdlbved4xvo27dss37motxje63ai3mwc4g5otjre5heqto2g7zbhi": {
"bciqdngvsrwedhravpw6h4lzku6f52ljmexs6sqrtowntcqpguibfgti": {
"provides": [
{
"ty": "posix.envVar",
"key": "RUST_LOG",
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info"
"val": "info,deno=info,denort=trace,swc_ecma_transforms_base=info,swc_common=info,h2=info,rustls=info,mio=info,hyper_util=info"
},
{
"ty": "posix.envVar",
"key": "RUSTY_V8_MIRROR",
"val": "/home/asdf/repos/ecma/ghjk/.dev/rusty_v8"
"val": "/home/yohe/ghjk/.dev/rusty_v8"
},
{
"ty": "ghjk.ports.InstallSetRef",
@@ -400,9 +400,9 @@
},
"defaultEnv": "dev",
"envsNamed": {
"main": "bciqkjh3l5pvnydjxc3gp6autcaurxvw2euj7uz472qureg3p4y5nfuq",
"_rust": "bciqothoegu7lnencjdk6pjtassehqlzaldan6l67lmtd2slhmvnq5la",
"dev": "bciqdlbved4xvo27dss37motxje63ai3mwc4g5otjre5heqto2g7zbhi"
"main": "bciqonpyvifzte5gf6tl7gtk3ep5q3vst2gqncuznf3kav4mzbuvnpai",
"_rust": "bciqm4lt7lvjdt3qzudw24qe4brezcej3ilxxhbmgfo2gdbfmh4j3a7i",
"dev": "bciqdngvsrwedhravpw6h4lzku6f52ljmexs6sqrtowntcqpguibfgti"
}
}
}
@@ -904,6 +904,43 @@
"rust-src"
]
},
"bciqlfx3mm5hi37g75snjknph6fkniixjhnvyyfxeua7f5z4h7nnqtna": {
"port": {
"ty": "denoWorker@v1",
"name": "cargobi_cratesio",
"platforms": [
"x86_64-linux",
"aarch64-linux",
"x86_64-darwin",
"aarch64-darwin",
"x86_64-windows",
"aarch64-windows",
"x86_64-freebsd",
"aarch64-freebsd",
"x86_64-netbsd",
"aarch64-netbsd",
"x86_64-aix",
"aarch64-aix",
"x86_64-solaris",
"aarch64-solaris",
"x86_64-illumos",
"aarch64-illumos",
"x86_64-android",
"aarch64-android"
],
"version": "0.1.0",
"buildDeps": [
{
"name": "cargo_binstall_ghrel"
},
{
"name": "rust_rustup"
}
],
"moduleSpecifier": "file:///ports/cargobi.ts"
},
"crateName": "tokio-console"
},
"bciqlmoqot4jk2lb2b34pldr5iiwsfm3biuipzesjkkwmc2n2o6nlw4q": {
"version": "v2.4.0",
"port": {
@@ -926,4 +963,4 @@
"bciqeie3punk3gz4kcfdk2fxx5bsj5fh3j7bb7z36qmimayhwdsvp7cq": {}
}
}
}
}
81 changes: 81 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion deno.jsonc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"tasks": {
"test": "cargo build -p ghjk && deno test --parallel --unstable-worker-options --unstable-kv -A tests/*",
"test": "cargo build -p ghjk && deno test --unstable-worker-options --unstable-kv -A tests/*",
"self": "deno run -A --unstable-kv --unstable-worker-options main.ts ",
"cache": "deno cache deps/*",
"check": "deno run -A ./scripts/check.ts",
5 changes: 3 additions & 2 deletions ghjk.ts
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ config({

env("main").vars({
RUST_LOG:
"info,deno=info,denort=trace,swc_ecma_transforms_base=info,swc_common=info",
"info,deno=info,denort=trace,swc_ecma_transforms_base=info,swc_common=info,h2=info,rustls=info,mio=info,hyper_util=info",
});

env("_rust")
@@ -35,6 +35,7 @@ const RUSTY_V8_MIRROR = `${import.meta.dirname}/.dev/rusty_v8`;

env("dev")
.inherit("_rust")
.install(ports.cargobi({ crateName: "tokio-console" }))
.vars({
// V8_FORCE_DEBUG: "true",
RUSTY_V8_MIRROR,
@@ -65,7 +66,7 @@ task(
"cache-v8",
{
desc: "Install the V8 builds to a local cache.",
inherit: "_rust",
inherit: false,
fn: async ($) => {
const tmpDirPath = await Deno.makeTempDir({});
const v8Versions = [
6 changes: 6 additions & 0 deletions install.ts
Original file line number Diff line number Diff line change
@@ -5,6 +5,12 @@
import "./setup_logger.ts";
import { defaultInstallArgs, install } from "./install/mod.ts";

// import the main entry points so that they get cached into the deno
// store during install
import "./modules/std.ts";
import "./port.ts";
import "./ports/mod.ts";

if (import.meta.main) {
const shellsToHook = Deno.env.get("GHJK_INSTALL_HOOK_SHELLS")
?.split(",")
2 changes: 2 additions & 0 deletions modules/ports/worker.ts
Original file line number Diff line number Diff line change
@@ -164,6 +164,8 @@ export class DenoWorkerPort extends PortBase {
const worker = new Worker(import.meta.url, {
name: `${this.manifest.name}@${this.manifest.version}`,
type: "module",
// FIXME: catch worker errors or they bring down the whole
// program (no lockfile generated)
// TODO: proper permissions
});
// promise that resolves when worker replies
Loading

0 comments on commit 096d02d

Please sign in to comment.