Re: FATAL: bogus data in lock file "postmaster.pid": ""
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Michael Beattie <mtbeedee@gmail.com>, Magnus Hagander <magnus@hagander.net>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-08-29T02:21:27Z
Lists: pgsql-hackers
Attachments
- pid.diff (text/x-diff) patch
On Tue, Aug 28, 2012 at 04:25:36PM -0400, Tom Lane wrote: > Bruce Momjian <bruce@momjian.us> writes: > > Updated patch attached which just reports the file as empty. I assume > > we don't want the extra text output for pg_ctl like we do for the > > backend. > > The backend side of this looks mostly sane to me (but drop the \n, > messages are not supposed to contain those). But the feof test proposed Removed. I thought we needed to add \n so that strings >80 would wrap properly. How do we handle this? > for pg_ctl is no good: consider a file containing just, say, "-". > fscanf would eat the "-", then hit eof, and this would complain the file > is empty. Possibly checking for ftell(pidf) == 0 would do, though I'm > not sure whether it's portable to assume fscanf would eat a non-numeric > character before complaining. ftell() seems to work fine when combined with feof(), so I used that in the attached patch. ftell() alone remains at zero if the file contains "A", so feof() is also needed. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +