s3: Check for serverid_exists in notify_deferred_opens
authorVolker Lendecke <vl@samba.org>
Mon, 7 May 2012 10:22:50 +0000 (12:22 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 25 May 2012 16:19:37 +0000 (09:19 -0700)
We will remove the check in parse_share_modes soon

Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/smbd/close.c

index 22d756c5c126907181353b4959c6f554a9862063..354a68c546c6a006fc549fde0db691b741343b27 100644 (file)
@@ -179,9 +179,15 @@ static void notify_deferred_opens(struct smbd_server_connection *sconn,
 
        num_deferred = 0;
        for (i=0; i<lck->data->num_share_modes; i++) {
-               if (is_deferred_open_entry(&lck->data->share_modes[i])) {
-                       num_deferred += 1;
+               struct share_mode_entry *e = &lck->data->share_modes[i];
+
+               if (!is_deferred_open_entry(e)) {
+                       continue;
+               }
+               if (share_mode_stale_pid(lck->data, i)) {
+                       continue;
                }
+               num_deferred += 1;
        }
        if (num_deferred == 0) {
                return;