Re: FATAL: bogus data in lock file "postmaster.pid": ""
От | Bruce Momjian |
---|---|
Тема | Re: FATAL: bogus data in lock file "postmaster.pid": "" |
Дата | |
Msg-id | 20120829210537.GB8753@momjian.us обсуждение исходный текст |
Ответ на | Re: FATAL: bogus data in lock file "postmaster.pid": "" (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-hackers |
Applied. --------------------------------------------------------------------------- On Wed, Aug 29, 2012 at 08:51:40AM -0400, Bruce Momjian wrote: > On Wed, Aug 29, 2012 at 12:56:26AM -0400, Tom Lane wrote: > > Bruce Momjian <bruce@momjian.us> writes: > > > On Wed, Aug 29, 2012 at 12:24:26AM -0400, Alvaro Herrera wrote: > > >> It's a pretty strange line wrap you got in this version of the patch. > > >> Normally we just let the string run past the 78 char limit, without > > >> cutting it in any way. And moving the start of the string to the line > > >> following "errhint(" looks very odd to me. > > > > > OK, updated patch attached. > > > > I agree with Alvaro's complaint that moving the whole string literal to > > the next line isn't conformant to our usual coding style. Definitely > > nitpicky, but why would you do it like that? > > I remember now why I added "\n". I am used to writing pg_upgrade output > strings, which are obviously not sent to log files. Seems I forgot that > distinction. As far as moving the string to the next line, I was trying > to keep the line from getting too long. > > Updated patch has everyone on the same line. I am fine with nitpicky. > Frankly, I have applied so many patches in the past few weeks, I am glad > someone is watching. > > -- > Bruce Momjian <bruce@momjian.us> http://momjian.us > EnterpriseDB http://enterprisedb.com > > + It's impossible for everything to be true. + > diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c > new file mode 100644 > index 775d71f..9a0f92c > *** a/src/backend/utils/init/miscinit.c > --- b/src/backend/utils/init/miscinit.c > *************** CreateLockFile(const char *filename, boo > *** 766,771 **** > --- 766,779 ---- > filename))); > close(fd); > > + if (len == 0) > + { > + ereport(FATAL, > + (errcode(ERRCODE_LOCK_FILE_EXISTS), > + errmsg("lock file \"%s\" is empty", filename), > + errhint("Either another server is starting, or the lock file is the remnant of a previous serverstartup crash."))); > + } > + > buffer[len] = '\0'; > encoded_pid = atoi(buffer); > > diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c > new file mode 100644 > index af8d8b2..81ba39e > *** a/src/bin/pg_ctl/pg_ctl.c > --- b/src/bin/pg_ctl/pg_ctl.c > *************** get_pgpid(void) > *** 292,299 **** > } > if (fscanf(pidf, "%ld", &pid) != 1) > { > ! write_stderr(_("%s: invalid data in PID file \"%s\"\n"), > ! progname, pid_file); > exit(1); > } > fclose(pidf); > --- 292,304 ---- > } > if (fscanf(pidf, "%ld", &pid) != 1) > { > ! /* Is the file empty? */ > ! if (ftell(pidf) == 0 && feof(pidf)) > ! write_stderr(_("%s: the PID file \"%s\" is empty\n"), > ! progname, pid_file); > ! else > ! write_stderr(_("%s: invalid data in PID file \"%s\"\n"), > ! progname, pid_file); > exit(1); > } > fclose(pidf); > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-hackers по дате отправления: