ref: 1561b4dcc0b10e7d6efa7b0dc8e8f687cf490983
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")
}