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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: splitting *_desc routines
Следующее
От: Robert Haas
Дата:
Сообщение: Re: MySQL search query is not executing in Postgres DB