summaryrefslogtreecommitdiff
path: root/source3/smbd/files.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-04-14 00:19:12 +0000
committerJeremy Allison <jra@samba.org>2001-04-14 00:19:12 +0000
commit53850c51caf1c4d53ff285b2e5505e0615beeeee (patch)
tree03e7d594efd340da6909e0efa2cf3dd05b6a610b /source3/smbd/files.c
parent9444e9d9f350961b594a1acbe7a7652d97faec0a (diff)
downloadsamba-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.c5
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;