diff options
-rw-r--r-- | Modules/fcntlmodule.c | 29 |
1 files changed, 29 insertions, 0 deletions
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 @@ fcntl_ioctl(self, args) } +/* 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 */ }; |