diff options
Diffstat (limited to 'xlators/features/locks/src/clear.c')
| -rw-r--r-- | xlators/features/locks/src/clear.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/xlators/features/locks/src/clear.c b/xlators/features/locks/src/clear.c index 124b9ad0feb..75593b8988c 100644 --- a/xlators/features/locks/src/clear.c +++ b/xlators/features/locks/src/clear.c @@ -338,9 +338,8 @@ blkd:                                     elock->basename, ENTRYLK_LOCK, elock->type,                                     -1, EAGAIN);                  STACK_UNWIND_STRICT (entrylk, elock->frame, -1, EAGAIN, NULL); -                GF_FREE ((char *) elock->basename); -                GF_FREE (elock->connection_id); -                GF_FREE (elock); + +		__pl_entrylk_unref (elock);          }          if (!(args->kind & CLRLK_GRANTED)) { @@ -363,13 +362,13 @@ granted:                          gcount++;                          list_del_init (&elock->domain_list);                          list_add_tail (&elock->domain_list, &removed); + +			__pl_entrylk_unref (elock);                  }          }          pthread_mutex_unlock (&pl_inode->mutex); -        list_for_each_entry_safe (elock, tmp, &removed, domain_list) { -                grant_blocked_entry_locks (this, pl_inode, elock, dom); -        } +	grant_blocked_entry_locks (this, pl_inode, dom);          ret = 0;  out:  | 
