Issue #5737: Add Solaris-specific mnemonics in the errno module. Patch by
Matthew Ahrens.
diff --git a/Misc/ACKS b/Misc/ACKS
index 45cd1b7..4ad93a3 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -14,6 +14,7 @@
David Abrahams
Jim Ahlstrom
Farhan Ahmad
+Matthew Ahrens
Nir Aides
Yaniv Aknin
Jyrki Alakuijala
diff --git a/Misc/NEWS b/Misc/NEWS
index fe2080f..1e7acc6 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -63,6 +63,9 @@
Extensions
----------
+- Issue #5737: Add Solaris-specific mnemonics in the errno module. Patch by
+ Matthew Ahrens.
+
- Restore GIL in nis_cat in case of error.
- Issue #665761: ``functools.reduce()`` will no longer mask exceptions
diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c
index 03c65f7..19b8bd5 100644
--- a/Modules/errnomodule.c
+++ b/Modules/errnomodule.c
@@ -82,7 +82,8 @@
/*
* The names and comments are borrowed from linux/include/errno.h,
- * which should be pretty all-inclusive
+ * which should be pretty all-inclusive. However, the Solaris specific
+ * names and comments are borrowed from sys/errno.h in Solaris.
*/
#ifdef ENODEV
@@ -797,6 +798,26 @@
inscode(d, ds, de, "WSAN", WSAN, "Error WSAN");
#endif
+ /* Solaris-specific errnos */
+#ifdef ECANCELED
+ inscode(d, ds, de, "ECANCELED", ECANCELED, "Operation canceled");
+#endif
+#ifdef ENOTSUP
+ inscode(d, ds, de, "ENOTSUP", ENOTSUP, "Operation not supported");
+#endif
+#ifdef EOWNERDEAD
+ inscode(d, ds, de, "EOWNERDEAD", EOWNERDEAD, "Process died with the lock");
+#endif
+#ifdef ENOTRECOVERABLE
+ inscode(d, ds, de, "ENOTRECOVERABLE", ENOTRECOVERABLE, "Lock is not recoverable");
+#endif
+#ifdef ELOCKUNMAPPED
+ inscode(d, ds, de, "ELOCKUNMAPPED", ELOCKUNMAPPED, "Locked lock was unmapped");
+#endif
+#ifdef ENOTACTIVE
+ inscode(d, ds, de, "ENOTACTIVE", ENOTACTIVE, "Facility is not active");
+#endif
+
Py_DECREF(de);
return m;
}