ref: 3e35cbe5f783ddfb57747e53ee3b70454b71001e
dir: /libstd/waitstatus+linux.myr/
use "die.use" pkg std = type waitstatus = union `Waitexit int32 `Waitsig int32 `Waitstop int32 ;; const waitstatus : (st : int32 -> waitstatus) ;; const waitstatus = {st if st & 0x7f == 0 /* if exited */ -> `Waitexit ((st & 0xff00) >> 8) elif ((st & 0xffff)-1) < 0xff /* if signaled */ -> `Waitsig ((st) & 0x7f) elif (((st & 0xffff)*0x10001)>>8) > 0x7f00 -> `Waitstop ((st & 0xff00) >> 8) ;; die("unreachable") }