ref: 24020b49aee678a72f3d9883371af8c70e4af9a5
dir: /lib/thread/spawn+plan9.myr/
use std
use sys
pkg thread =
type tid = uint64
const spawn : (fn : (-> void) -> std.result(tid, byte[:]))
;;
const spawn = {fn
match sys.rfork(sys.Rfproc | sys.Rfmem | sys.Rfnowait)
| 0:
fn()
std.exit(0)
| -1: -> `std.Err "unable to spawn thread"
| thr: -> `std.Ok (thr : tid)
;;
}