summaryrefslogtreecommitdiff
path: root/source3/locking
diff options
context:
space:
mode:
Diffstat (limited to 'source3/locking')
-rw-r--r--source3/locking/locking.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index b17bf9e059..a9b13d61a1 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -1127,10 +1127,12 @@ static void fill_share_mode_entry(struct share_mode_entry *e,
static void fill_deferred_open_entry(struct share_mode_entry *e,
const struct timeval request_time,
- struct file_id id, uint64_t mid)
+ struct file_id id,
+ struct server_id pid,
+ uint64_t mid)
{
ZERO_STRUCTP(e);
- e->pid = procid_self();
+ e->pid = pid;
e->op_mid = mid;
e->op_type = DEFERRED_OPEN_ENTRY;
e->time.tv_sec = request_time.tv_sec;
@@ -1171,10 +1173,10 @@ void set_share_mode(struct share_mode_lock *lck, files_struct *fsp,
void add_deferred_open(struct share_mode_lock *lck, uint64_t mid,
struct timeval request_time,
- struct file_id id)
+ struct server_id pid, struct file_id id)
{
struct share_mode_entry entry;
- fill_deferred_open_entry(&entry, request_time, id, mid);
+ fill_deferred_open_entry(&entry, request_time, id, pid, mid);
add_share_mode_entry(lck, &entry);
}
@@ -1248,12 +1250,13 @@ bool del_share_mode(struct share_mode_lock *lck, files_struct *fsp)
return True;
}
-void del_deferred_open_entry(struct share_mode_lock *lck, uint64_t mid)
+void del_deferred_open_entry(struct share_mode_lock *lck, uint64_t mid,
+ struct server_id pid)
{
struct share_mode_entry entry, *e;
fill_deferred_open_entry(&entry, timeval_zero(),
- lck->id, mid);
+ lck->id, pid, mid);
e = find_share_mode_entry(lck, &entry);
if (e == NULL) {