Add definitions for symbolic constants LOCK_{EX,NB,SH,UN}.
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index e7c91b1..e951bc4 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -257,6 +257,30 @@
/* Module initialisation */
+static int
+ins(d, symbol, value)
+ PyObject* d;
+ char* symbol;
+ long value;
+{
+ PyObject* v = PyInt_FromLong(value);
+ if (!v || PyDict_SetItemString(d, symbol, v) < 0)
+ return -1;
+
+ Py_DECREF(v);
+ return 0;
+}
+
+static int
+all_ins(d)
+ PyObject* d;
+{
+ if (ins(d, "LOCK_SH", (long)LOCK_SH)) return -1;
+ if (ins(d, "LOCK_EX", (long)LOCK_EX)) return -1;
+ if (ins(d, "LOCK_NB", (long)LOCK_NB)) return -1;
+ if (ins(d, "LOCK_UN", (long)LOCK_UN)) return -1;
+}
+
void
initfcntl()
{
@@ -267,6 +291,7 @@
/* Add some symbolic constants to the module */
d = PyModule_GetDict(m);
+ all_ins(d);
/* Check for errors */
if (PyErr_Occurred())