From d7183ca40360bd5f8f1fcc199461344b6ee4de05 Mon Sep 17 00:00:00 2001 From: Richard Musiol Date: Tue, 20 Nov 2018 14:47:58 +0100 Subject: [PATCH] misc/wasm: use temporary directory provided by Node.js os.TempDir() did not return a proper directory on Windows with js/wasm, because js/wasm only uses the Unix variant of TempDir. This commit passes the temporary directory provided by Node.js to the Go runtime by adding it as a default value for the TMPDIR environment variable. It makes TempDir compatible with all platforms. Fixes #27306. Change-Id: I8b17e44cfb2ca41939ab2a4f918698fe330cb8bc Reviewed-on: https://go-review.googlesource.com/c/150437 Run-TryBot: Richard Musiol TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- misc/wasm/wasm_exec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/wasm/wasm_exec.js b/misc/wasm/wasm_exec.js index 440bba104c..83704a054f 100644 --- a/misc/wasm/wasm_exec.js +++ b/misc/wasm/wasm_exec.js @@ -442,7 +442,7 @@ const go = new Go(); go.argv = process.argv.slice(2); - go.env = process.env; + go.env = Object.assign({ TMPDIR: require("os").tmpdir() }, process.env); go.exit = process.exit; WebAssembly.instantiate(fs.readFileSync(process.argv[2]), go.importObject).then((result) => { process.on("exit", (code) => { // Node.js exits if no callback is pending -- 2.48.1