summaryrefslogtreecommitdiff
path: root/source3/smbd/open.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2005-12-24 21:06:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:56 -0500
commit67706697c5d8302e0d05d179de90c219531db8c7 (patch)
treec8b815a3b18e53352e202962b9c85fd965bec19e /source3/smbd/open.c
parent3e80ef29a60373a443668357f63ad6f7fda6dab2 (diff)
downloadsamba-67706697c5d8302e0d05d179de90c219531db8c7.tar.gz
samba-67706697c5d8302e0d05d179de90c219531db8c7.tar.bz2
samba-67706697c5d8302e0d05d179de90c219531db8c7.zip
r12460: Fixes for bug 3349
(This used to be commit 040eda6bf0517204d5650702eea7e1d1c5eeb3d5)
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r--source3/smbd/open.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 7621ee001d..e6c749fab9 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -682,11 +682,15 @@ static BOOL delay_for_oplocks(struct share_mode_lock *lck, files_struct *fsp)
}
if (delay_it) {
+ BOOL ret;
DEBUG(10, ("Sending break request to PID %s\n",
procid_str_static(&exclusive->pid)));
exclusive->op_mid = get_current_mid();
- if (!message_send_pid(exclusive->pid, MSG_SMB_BREAK_REQUEST,
- exclusive, sizeof(*exclusive), True)) {
+ become_root();
+ ret = message_send_pid(exclusive->pid, MSG_SMB_BREAK_REQUEST,
+ exclusive, sizeof(*exclusive), True);
+ unbecome_root();
+ if (!ret) {
DEBUG(3, ("Could not send oplock break message\n"));
}
file_free(fsp);