This is an archive of the discontinued LLVM Phabricator instance.

[flang] Avoid potential deadlock in CloseAll()
ClosedPublic

Authored by klausler on Dec 6 2021, 1:44 PM.

Details

Summary

When closing all open units, don't hold the unit map lock
over the actual close operations; if one of those aborts,
CloseAll() may be called and then deadlock.

Diff Detail

Event Timeline

klausler created this revision.Dec 6 2021, 1:44 PM
klausler requested review of this revision.Dec 6 2021, 1:44 PM
vdonaldson accepted this revision.Dec 7 2021, 9:20 AM
This revision is now accepted and ready to land.Dec 7 2021, 9:20 AM
klausler closed this revision.Jan 12 2022, 1:11 PM