Added flock().
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 2299585..d2efd60 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -128,11 +128,40 @@
 }
 
 
+/* flock(fd, operation) */
+
+static object *
+fcntl_flock(self, args)
+	object *self; /* Not used */
+	object *args;
+{
+	int fd;
+	int code;
+	int ret;
+	FILE *f;
+
+	if (!getargs(args, "(ii)", &fd, &code))
+		return NULL;
+
+	BGN_SAVE
+	ret = flock(fd, code);
+	END_SAVE
+	if (ret < 0) {
+		err_errno(IOError);
+		return NULL;
+	}
+	INCREF(None);
+	return None;
+}
+
+
+
 /* List of functions */
 
 static struct methodlist fcntl_methods[] = {
 	{"fcntl",	fcntl_fcntl},
 	{"ioctl",	fcntl_ioctl},
+	{"flock",	fcntl_flock},
 	{NULL,		NULL}		/* sentinel */
 };