diff options
author | Jeremy Allison <jra@samba.org> | 2003-04-04 21:58:42 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-04-04 21:58:42 +0000 |
commit | c3715824c7c6108eff671ae638342f9790f85eac (patch) | |
tree | b1e08b1f7285e2fe48e071c3ad30a00829d396ea /source3/smbd | |
parent | 3b592a76a12ede0e27dc71573b77a2616fd0093f (diff) | |
download | samba-c3715824c7c6108eff671ae638342f9790f85eac.tar.gz samba-c3715824c7c6108eff671ae638342f9790f85eac.tar.bz2 samba-c3715824c7c6108eff671ae638342f9790f85eac.zip |
Re-fix regression noticed by Tom Schaefer <tom@umsl.edu> due to
correct delete on close semantics change.
Jeremy.
(This used to be commit 55d0ab0e307e16389cc470fa04a9d7b44043a4da)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/close.c | 2 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 4798d62db8..9cb191c4e2 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -196,6 +196,7 @@ static int close_normal_file(files_struct *fsp, BOOL normal_close) DEBUG(5,("close_file: file %s. Delete on close was set and unlink failed \ with error %s\n", fsp->fsp_name, strerror(errno) )); } + process_pending_change_notify_queue((time_t)0); } unlock_share_entry_fsp(fsp); @@ -262,6 +263,7 @@ static int close_directory(files_struct *fsp, BOOL normal_close) if(ok) remove_pending_change_notify_requests_by_filename(fsp); + process_pending_change_notify_queue((time_t)0); } /* diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 4129852f77..7b8b7e3a4f 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2130,6 +2130,9 @@ NTSTATUS set_delete_on_close_over_all(files_struct *fsp, BOOL delete_on_close) DEBUG(10,("set_delete_on_close_over_all: %s delete on close flag for fnum = %d, file %s\n", delete_on_close ? "Adding" : "Removing", fsp->fnum, fsp->fsp_name )); + if (fsp->is_directory || fsp->is_stat) + return NT_STATUS_OK; + if (lock_share_entry_fsp(fsp) == False) return NT_STATUS_ACCESS_DENIED; |