reorderbuffer: preserve errno while reporting error

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: 6f79ae7fe549bed8bbd1f54ddd9b98f8f9a315f5
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2016-08-19T17:38:55Z
Releases: 10.0
reorderbuffer: preserve errno while reporting error

Clobbering errno during cleanup after an error is an oft-repeated, easy
to make mistake.  Deal with it here as everywhere else, by saving it
aside and restoring after cleanup, before ereport'ing.

In passing, add a missing errcode declaration in another ereport() call
in the same file, which I noticed while skimming the file looking for
similar problems.

Backpatch to 9.4, where this code was introduced.

Files

PathChange+/−
src/backend/replication/logical/reorderbuffer.c modified +5 −1