summaryrefslogtreecommitdiff
path: root/source3/smbd/open.c
diff options
context:
space:
mode:
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);