On Tue, Sep 05, 2017 at 07:31:44PM +0900, Byungchul Park wrote:
> Let me show you a possible scenario with a leaf lock:
> 
>                         lock(A)
>    lock(A)              wait_for_completion(B)
>    unlock(A)            ...
>    ...                  unlock(A)
>    process_one_work()
>       work->func()
>          complete(B)
> 
> It's a deadlock by a lead lock A and completion B.

By having wait_for_completion() in it, A is not a leaf lock.

Reply via email to