ref: 183f3d40a1dbc2254f1e01de21eb022996f40ad2
dir: /lib/thread/test/do.myr/
use std use thread const main = { match std.espork(["/bin/echo", "hello"][:]) | `std.Err e: std.fatal("could not spork\n") | `std.Ok (pid, in, out, err): std.close(in) var o = thread.do({;-> std.fslurp(out)}) var e = thread.do({;-> std.fslurp(err)}) var w = std.wait(pid) match w | `std.Wsuccess: /* ok */ | bad: std.fatal("bad wait: {}\n", bad) ;; match thread.futget(o) | `std.Ok "hello\n": /* ok */ | bad: std.fatal("bad out: {}\n", bad) ;; match thread.futget(e) | `std.Ok "": /* ok */ | bad: std.fatal("bad err: {}\n", bad) ;; ;; }