Fix missed unlock in unit prefetcher
commit943730184b6253dbdba500ca8dbf8898940f454b
authorRick Lavoie <rlavoie@fb.com>
Wed, 23 Sep 2020 16:18:30 +0000 (23 09:18 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 23 Sep 2020 16:23:14 +0000 (23 09:23 -0700)
treeae75b02404126309e2c341aa1ed57571b40a6ba1
parent62a60aa957723208f0e9ceca0dab8c5111000bf6
Fix missed unlock in unit prefetcher

Summary:
In the unit prefetcher, we missed an unlock in a (very rare)
case. As a result, the unit would remain locked indefinitely. This
could (in theory) cause a deadlock in the future. The main impact,
however, was causing assertions when we destroy the unit cache at
shutdown.

Reviewed By: oulgen

Differential Revision: D23862629

fbshipit-source-id: 9436ef13f6c61d68ceb3330a10a2bb8c4c458afe
hphp/runtime/base/unit-cache.cpp