DescriptionDelete PNaCl translation cache backend object when no longer needed
Deleting a disk cache backend causes it to post tasks to its cache thread to sync the files, and block the IO thread waiting for completion. Because PnaclHost is a singleton, it is not destroyed until the browser threads have gone away, which results in hangs on shutdown.
Previously the cache backend was deleted on renderer closing if it was unneeded, which worked when there was actual use of PNaCl, but did not work when it was a cache clear request that caused the backend to be initialized.
This CL makes PnaclHost also try to free the backend when entries are doomed, and when a nexe finishes storing.
R=jvoung@chromium.org
BUG=270948
TEST=unit_tests PnaclHostTest.*, PnaclTranslationCacheTest.*
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=231128
Patch Set 1 #Patch Set 2 : rebase #Patch Set 3 : #Patch Set 4 : #Patch Set 5 : dont free with pending operations #Patch Set 6 : cleanup #
Total comments: 6
Patch Set 7 : add dcheck #
Messages
Total messages: 7 (0 generated)
|