Hi Janne,

Simplify IO locking in libgfortran.  The new IO implementation avoids
accessing units without locks, as seen in PR 92836.  It also avoids
lock inversion (except for a corner case wrt namelist query when
reading from stdin and outputting to stdout), making it easier to
verify correctness with tools like valgrind or threadsanitizer.  It is
also simplified as the waiting and closed variables are not needed
anymore, making it easier to understand and analyze.

Regtested on x86_64-pc-linux-gnu, Ok for master?

I'll look into it, this might take a bit of time.

What are you planning to use as a test case? You can put
multighreading programs into libgomp/testsuite/libgomp.fortran
where they will be executed.

Regards

        Thomas

Reply via email to