diff options
author | Joe Conway <mail@joeconway.com> | 2016-03-07 15:14:20 -0800 |
---|---|---|
committer | Joe Conway <mail@joeconway.com> | 2016-03-07 15:14:20 -0800 |
commit | 7b077af5000cb94b8547b62ee45697cf6bf806ef (patch) | |
tree | 9c2d59de4dd6bc50dfcd16f9414d5e175976a5a0 | |
parent | b63bea5fd3bba4d7a61c3beaba51a06f24b38da6 (diff) | |
download | postgresql-7b077af5000cb94b8547b62ee45697cf6bf806ef.tar.gz postgresql-7b077af5000cb94b8547b62ee45697cf6bf806ef.zip |
Make get_controlfile() error logging consistent with src/common
As originally committed, get_controlfile() used a non-standard approach
to error logging. Make it consistent with the majority of error logging
done in src/common.
Applies to master only.
-rw-r--r-- | src/common/controldata_utils.c | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/src/common/controldata_utils.c b/src/common/controldata_utils.c index b6d0a128f7f..6867c03bee5 100644 --- a/src/common/controldata_utils.c +++ b/src/common/controldata_utils.c @@ -28,19 +28,6 @@ #include "common/controldata_utils.h" #include "port/pg_crc32c.h" -#ifndef FRONTEND -/* NOTE: caller must provide gettext call around the format string */ -#define log_error(...) \ - elog(ERROR, __VA_ARGS__) -#else -#define log_error(...) \ - do { \ - char *buf = psprintf(__VA_ARGS__); \ - fprintf(stderr, "%s: %s\n", progname, buf); \ - exit(2); \ - } while (0) -#endif - /* * get_controlfile(char *DataDir, const char *progname) * @@ -59,12 +46,31 @@ get_controlfile(char *DataDir, const char *progname) snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir); if ((fd = open(ControlFilePath, O_RDONLY | PG_BINARY, 0)) == -1) - log_error(_("could not open file \"%s\" for reading: %s"), - ControlFilePath, strerror(errno)); +#ifndef FRONTEND + ereport(ERROR, + (errcode_for_file_access(), + errmsg("could not open file \"%s\" for reading: %m", + ControlFilePath))); +#else + { + fprintf(stderr, _("%s: could not open file \"%s\" for reading: %s\n"), + progname, ControlFilePath, strerror(errno)); + exit(EXIT_FAILURE); + } +#endif if (read(fd, ControlFile, sizeof(ControlFileData)) != sizeof(ControlFileData)) - log_error(_("could not read file \"%s\": %s"), - ControlFilePath, strerror(errno)); +#ifndef FRONTEND + ereport(ERROR, + (errcode_for_file_access(), + errmsg("could not read file \"%s\": %m", ControlFilePath))); +#else + { + fprintf(stderr, _("%s: could not read file \"%s\": %s\n"), + progname, ControlFilePath, strerror(errno)); + exit(EXIT_FAILURE); + } +#endif close(fd); |