gcc/libgfortran/io
Tobias Burnus 107ca5c2fd 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 a13a50047e)
2021-05-03 15:17:50 +02:00
..
async.c Fortran: Async I/O - avoid unlocked unlocking [PR100352] 2021-05-03 15:17:50 +02:00
async.h Update copyright years. 2021-01-04 10:26:59 +01:00
close.c Update copyright years. 2021-01-04 10:26:59 +01:00
fbuf.c Update copyright years. 2021-01-04 10:26:59 +01:00
fbuf.h Update copyright years. 2021-01-04 10:26:59 +01:00
file_pos.c Update copyright years. 2021-01-04 10:26:59 +01:00
format.c Update copyright years. 2021-01-04 10:26:59 +01:00
format.h Update copyright years. 2021-01-04 10:26:59 +01:00
inquire.c Update copyright years. 2021-01-04 10:26:59 +01:00
intrinsics.c Update copyright years. 2021-01-04 10:26:59 +01:00
io.h Fortran: Async I/O - avoid unlocked unlocking [PR100352] 2021-05-03 15:17:50 +02:00
list_read.c Update copyright years. 2021-01-04 10:26:59 +01:00
lock.c Update copyright years. 2021-01-04 10:26:59 +01:00
open.c Update copyright years. 2021-01-04 10:26:59 +01:00
read.c Update copyright years. 2021-01-04 10:26:59 +01:00
size_from_kind.c Update copyright years. 2021-01-04 10:26:59 +01:00
transfer128.c Update copyright years. 2021-01-04 10:26:59 +01:00
transfer.c Fortran: Async I/O - avoid unlocked unlocking [PR100352] 2021-05-03 15:17:50 +02:00
unit.c Fortran: Fix libgfortran I/O race with newunit_free [PR99529] 2021-03-12 16:31:32 +01:00
unix.c Update copyright years. 2021-01-04 10:26:59 +01:00
unix.h Update copyright years. 2021-01-04 10:26:59 +01:00
write_float.def Update copyright years. 2021-01-04 10:26:59 +01:00
write.c Update copyright years. 2021-01-04 10:26:59 +01:00