ref: 1d6cb9bf584e35be0786467e1786e60ac909ae21
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) ;; ;; }