diff options
author | Jeremy Allison <jra@samba.org> | 2001-04-14 00:19:12 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-04-14 00:19:12 +0000 |
commit | 53850c51caf1c4d53ff285b2e5505e0615beeeee (patch) | |
tree | 03e7d594efd340da6909e0efa2cf3dd05b6a610b /source3/smbd/files.c | |
parent | 9444e9d9f350961b594a1acbe7a7652d97faec0a (diff) | |
download | samba-53850c51caf1c4d53ff285b2e5505e0615beeeee.tar.gz samba-53850c51caf1c4d53ff285b2e5505e0615beeeee.tar.bz2 samba-53850c51caf1c4d53ff285b2e5505e0615beeeee.zip |
configure:
configure.in:
include/config.h.in:
include/profile.h:
smbd/vfs-wrap.c:
smbd/vfs.c:
Added fchmod and fchown to VFS (sorry Gerald - but we needed them anyway).
smbd/dosmode.c:
smbd/files.c:
printing/printfsp.c:
smbd/close.c:
smbd/open.c:
Fixed "dos filemode" correctly so there are no race conditions. Forces test
of open of file O_WRONLY before allowing fchmod as root. Afterwards, calls
standard close function that preserves POSIX locks due to POSIX-me-harder
braindamage. :-). Andrew please review this code.
Also - in removing the tmpdir param in smbrun an extra NULL parameter
was missed in each print_run_command() call (which is a varargs fn.).
Now fixed.
Jeremy.
(This used to be commit 32397e5bc6d995ce7ca37c82d6aedc1e5b1b6fbd)
Diffstat (limited to 'source3/smbd/files.c')
-rw-r--r-- | source3/smbd/files.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/smbd/files.c b/source3/smbd/files.c index 33243e1e94..27dfad7c48 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -43,7 +43,7 @@ static int files_used; /**************************************************************************** find first available file slot ****************************************************************************/ -files_struct *file_new(void ) +files_struct *file_new(connection_struct *conn) { int i; static int first_file; @@ -72,7 +72,7 @@ files_struct *file_new(void ) for (fsp=Files;fsp;fsp=next) { next=fsp->next; if (attempt_close_oplocked_file(fsp)) { - return file_new(); + return file_new(conn); } } @@ -91,6 +91,7 @@ files_struct *file_new(void ) ZERO_STRUCTP(fsp); fsp->fd = -1; + fsp->conn = conn; first_file = (i+1) % real_max_open_files; |