summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/proto.h3
-rw-r--r--source3/smbd/files.c5
-rw-r--r--source3/smbd/reply.c2
3 files changed, 6 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index c55bf8343c..091ce17caa 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4751,7 +4751,8 @@ bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname);
NTSTATUS file_new(struct smb_request *req, connection_struct *conn,
files_struct **result);
void file_close_conn(connection_struct *conn);
-void file_close_pid(uint16 smbpid, int vuid);
+void file_close_pid(struct smbd_server_connection *sconn, uint16 smbpid,
+ int vuid);
void file_init(void);
void file_close_user(int vuid);
struct files_struct *files_forall(
diff --git a/source3/smbd/files.c b/source3/smbd/files.c
index cf6f57ea2f..f24d903daa 100644
--- a/source3/smbd/files.c
+++ b/source3/smbd/files.c
@@ -155,11 +155,12 @@ void file_close_conn(connection_struct *conn)
Close all open files for a pid and a vuid.
****************************************************************************/
-void file_close_pid(uint16 smbpid, int vuid)
+void file_close_pid(struct smbd_server_connection *sconn, uint16 smbpid,
+ int vuid)
{
files_struct *fsp, *next;
- for (fsp=smbd_server_conn->files;fsp;fsp=next) {
+ for (fsp=sconn->files;fsp;fsp=next) {
next = fsp->next;
if ((fsp->file_pid == smbpid) && (fsp->vuid == vuid)) {
close_file(NULL, fsp, SHUTDOWN_CLOSE);
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index f8c016b7f9..8663c68f96 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -4773,7 +4773,7 @@ void reply_exit(struct smb_request *req)
{
START_PROFILE(SMBexit);
- file_close_pid(req->smbpid, req->vuid);
+ file_close_pid(req->sconn, req->smbpid, req->vuid);
reply_outbuf(req, 0, 0);