summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/deno.ts2
-rw-r--r--js/main.ts2
-rw-r--r--js/os.ts8
-rw-r--r--js/os_test.ts5
-rw-r--r--src/msg.fbs1
-rw-r--r--src/ops.rs1
6 files changed, 18 insertions, 1 deletions
diff --git a/js/deno.ts b/js/deno.ts
index 2e82613e8..07068ca31 100644
--- a/js/deno.ts
+++ b/js/deno.ts
@@ -2,7 +2,7 @@
// Public deno module.
/// <amd-module name="deno"/>
-export { env, exit } from "./os";
+export { pid, env, exit } from "./os";
export { chdir, cwd } from "./dir";
export {
File,
diff --git a/js/main.ts b/js/main.ts
index 818713593..9ecdefc93 100644
--- a/js/main.ts
+++ b/js/main.ts
@@ -54,6 +54,8 @@ export default function denoMain() {
os.exit(0);
}
+ os.setPid(startResMsg.pid());
+
const cwd = startResMsg.cwd();
log("cwd", cwd);
diff --git a/js/os.ts b/js/os.ts
index e56aab574..cbcd9c665 100644
--- a/js/os.ts
+++ b/js/os.ts
@@ -5,6 +5,14 @@ import * as util from "./util";
import * as flatbuffers from "./flatbuffers";
import { sendSync } from "./dispatch";
+/** process id */
+export let pid: number;
+
+export function setPid(pid_: number): void {
+ assert(!pid);
+ pid = pid_;
+}
+
interface CodeInfo {
moduleName: string | undefined;
filename: string | undefined;
diff --git a/js/os_test.ts b/js/os_test.ts
index 922d86850..4b7ec4543 100644
--- a/js/os_test.ts
+++ b/js/os_test.ts
@@ -22,3 +22,8 @@ test(async function envFailure() {
assert(caughtError);
});
+
+test(function osPid() {
+ console.log("pid", deno.pid);
+ assert(deno.pid > 0);
+});
diff --git a/src/msg.fbs b/src/msg.fbs
index f68b40c1a..989fafd0b 100644
--- a/src/msg.fbs
+++ b/src/msg.fbs
@@ -138,6 +138,7 @@ table Start {
table StartRes {
cwd: string;
+ pid: uint32;
argv: [string];
debug_flag: bool;
deps_flag: bool;
diff --git a/src/ops.rs b/src/ops.rs
index 638195442..d678e9727 100644
--- a/src/ops.rs
+++ b/src/ops.rs
@@ -201,6 +201,7 @@ fn op_start(
&mut builder,
&msg::StartResArgs {
cwd: Some(cwd_off),
+ pid: std::process::id(),
argv: Some(argv_off),
debug_flag: state.flags.log_debug,
recompile_flag: state.flags.recompile,