summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_open.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/ntvfs/posix/pvfs_open.c')
-rw-r--r--source4/ntvfs/posix/pvfs_open.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c
index 05c2bdda28..429f519bca 100644
--- a/source4/ntvfs/posix/pvfs_open.c
+++ b/source4/ntvfs/posix/pvfs_open.c
@@ -52,6 +52,8 @@ static int pvfs_fd_destructor(void *p)
{
struct pvfs_file *f = p;
+ pvfs_lock_close_pending(f->pvfs, f);
+
brl_close(f->pvfs->brl_context, &f->locking_key, f->fnum);
if (f->fd != -1) {
@@ -221,6 +223,8 @@ NTSTATUS pvfs_close(struct ntvfs_module_context *ntvfs,
return NT_STATUS_INVALID_HANDLE;
}
+ pvfs_lock_close_pending(pvfs, f);
+
status = brl_close(pvfs->brl_context, &f->locking_key, f->fnum);
if (!NT_STATUS_IS_OK(status)) {
return status;