https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100352

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tobias Burnus <bur...@gcc.gnu.org>:

https://gcc.gnu.org/g:a13a50047ef1814a7bda2392f728bf28f81b17ce

commit r12-344-ga13a50047ef1814a7bda2392f728bf28f81b17ce
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.

Reply via email to