https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100352
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Tobias Burnus <bur...@gcc.gnu.org>: https://gcc.gnu.org/g:107ca5c2fd6dcb53c3cba788ae388e7e4e789ed8 commit r11-8343-g107ca5c2fd6dcb53c3cba788ae388e7e4e789ed8 Author: Tobias Burnus <tob...@codesourcery.com> Date: Sun May 2 18:16:17 2021 +0200 Fortran: Async I/O - avoid unlocked unlocking [PR100352] Follow up to PR100352, which moved unit unlocking to st_*_done_worker to avoid lock order reversal; however, as async_io uses a different lock, the (unlocked locked) unit lock shall not be unlocked there. libgfortran/ChangeLog: PR libgomp/100352 * io/transfer.c (st_read_done_worker, st_write_done_worker): Add new arg whether to unlock unit. (st_read_done, st_write_done): Call it with true. * io/async.c (async_io): Call it with false. * io/io.h (st_write_done_worker, st_read_done_worker): Update prototype. (cherry picked from commit a13a50047ef1814a7bda2392f728bf28f81b17ce)