shithub: mc

Download patch

ref: 94e367e2c05a02e3c97986af595ff22a1dd1a329
parent: b00f9d006411591f447f505f842f1b681b7862b3
author: Ori Bernstein <[email protected]>
date: Mon Aug 11 18:16:16 EDT 2014

Implement waitstatus() for freebsd.

--- a/libstd/waitstatus-freebsd.myr
+++ b/libstd/waitstatus-freebsd.myr
@@ -1,0 +1,20 @@
+use "die.use"
+
+pkg std =
+	type waitstatus = union
+		`Waitexit int32
+		`Waitsig  int32
+		`Waitstop int32
+	;;
+
+	const waitstatus	: (st : int32 -> waitstatus)
+;;
+
+const waitstatus = {st
+	match st & 0o177
+	| 0:	-> `Waitexit (st >> 8)
+	| 0x7f:-> `Waitstop (st >> 8)
+	| sig: 	-> `Waitsig sig
+	;;
+	die("unreachable")
+}