Re: pgsql: Fix race condition in pg_ctl reading postmaster.pid.
От | Tom Lane |
---|---|
Тема | Re: pgsql: Fix race condition in pg_ctl reading postmaster.pid. |
Дата | |
Msg-id | 8435.1350309939@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | pgsql: Fix race condition in pg_ctl reading postmaster.pid. (Heikki Linnakangas <heikki.linnakangas@iki.fi>) |
Ответы |
Re: pgsql: Fix race condition in pg_ctl reading postmaster.pid.
|
Список | pgsql-committers |
Heikki Linnakangas <heikki.linnakangas@iki.fi> writes: > Fix race condition in pg_ctl reading postmaster.pid. > If postmaster changed postmaster.pid while pg_ctl was reading it, pg_ctl > could overrun the buffer it allocated for the file. Fix by reading the > whole file to memory with one read() call. Maybe I'm just not awake enough, but that code doesn't look to me like it does the right thing with a non-newline-terminated file. Doesn't it drop the last character of the last line? Given the way that pg_ctl uses the file, I think that the old logic of "pretend the file ends with a newline" is wrong anyway. If we do manage to see an intermediate state of the file, it would be better to not return the last line at all than to return a truncated (a/k/a wrong) value for that line. So I'd vote to rejigger the logic to ignore any data after the last newline. regards, tom lane
В списке pgsql-committers по дате отправления: