Treat any negative ws_file as closed in xlogreader.c The segment_close() callback is required to set ws_file to a negative value after closing a WAL segment, as documented in xlogreader.h. XLogReaderFree() only treated -1 as closed, so it could call segment_close() again if another negative value was used.
This should not be an issue in practice, but all the other code paths in the tree use 0 as comparison base when dealing with ws_file, except for the line updated here. Let's be consistent, at least. Author: Bertrand Drouvot <[email protected]> Discussion: https://postgr.es/m/asNr203eue0R4zpZ@bdtpg Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/412848dac37f2e4455e1505f83f0af0f3d28a67d Modified Files -------------- src/backend/access/transam/xlogreader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
