diff options
Diffstat (limited to 'src/bin/pg_dump/pg_backup_utils.h')
-rw-r--r-- | src/bin/pg_dump/pg_backup_utils.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/bin/pg_dump/pg_backup_utils.h b/src/bin/pg_dump/pg_backup_utils.h index 6ebc3afee4a..5b1c51554da 100644 --- a/src/bin/pg_dump/pg_backup_utils.h +++ b/src/bin/pg_dump/pg_backup_utils.h @@ -31,6 +31,12 @@ extern void set_dump_section(const char *arg, int *dumpSections); extern void on_exit_nicely(on_exit_nicely_callback function, void *arg); extern void exit_nicely(int code) pg_attribute_noreturn(); -#define fatal(...) do { pg_log_error(__VA_ARGS__); exit_nicely(1); } while(0) +/* In pg_dump, we modify pg_fatal to call exit_nicely instead of exit */ +#undef pg_fatal +#define pg_fatal(...) do { \ + if (likely(__pg_log_level <= PG_LOG_ERROR)) \ + pg_log_generic(PG_LOG_ERROR, PG_LOG_PRIMARY, __VA_ARGS__); \ + exit_nicely(1); \ + } while(0) #endif /* PG_BACKUP_UTILS_H */ |