Skip to content
Commit 30fed8c2 authored by Pinyao Ting's avatar Pinyao Ting
Browse files

Fixes an edge case which leads to deadlock in ShortcutService

ShortcutService uses two levels of synchronization lock, one on the
service-level, another on package-level. To prevent deadlock, we made an
implicit rule that a thread can never acquire service-level lock if they
were holding onto package-level lock.

An edge case emerges when we ran into "what a terrible failure",
service-level lock was acquired to increase wtf counter and capture
stack traces, regardless of the implicit rule mentioned above.

This CL solves the deadlock by using a separate lock in wtf.

Bug: 243880581
Test: manual
Change-Id: I136ed4018b07ae17591207c5c855e9d34082ae77
parent b4c3a068
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment