Re: do we EXEC_BACKEND on Mac OS X?

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: do we EXEC_BACKEND on Mac OS X?
Дата
Msg-id 20121003170817.GC3470@momjian.us
обсуждение исходный текст
Ответ на Re: do we EXEC_BACKEND on Mac OS X?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: do we EXEC_BACKEND on Mac OS X?
Список pgsql-hackers
On Wed, Oct  3, 2012 at 12:41:37PM -0400, Tom Lane wrote:
> I wrote:
> > Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> >> Noticed while perusing
> >> http://lwn.net/Articles/518306/
> 
> > I'm afraid Brian was just looking for an excuse to dump on Apple.  We
> > have a lot of years of Postgres experience showing that fork() works
> > fine on OS X.
> 
> BTW, I think the commenter at the bottom of the thread puts his finger
> on the core of the real problem:
> 
> > I'd wager most libraries are not fork safe, including such libraries
> > as SQLite as mentioned in the SQLite FAQ. Libraries that talk to the
> > outside world contain much state that is not safe to share.
> 
> To bring that closer to home, suppose you have a program with an open
> database connection in libpq, and you fork(), and then parent and child
> both try to use the connection.  How well would that work?  Is it the
> fault of fork()?
> 
> I think Apple is just pointing out that their framework libraries have
> similar issues.

Yes, but those framework libraries are typically supposed to prevent
such problems from being seen by applications calling them.  This is
certainly sloppy practice on Apple's part, and it leave us wondering if
we are using anything that might be a problem.  The bottom line is that
we don't know.

Libraries are supposed to document these limitations, as we do with
libpq.  I wonder if they just documented fork() and now don't feel they
need to document these limitations per-library.

Anyway, I agree that we need to see a failure before adjusting anything.

--  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: do we EXEC_BACKEND on Mac OS X?
Следующее
От: Fabrízio de Royes Mello
Дата:
Сообщение: Re: CREATE SCHEMA IF NOT EXISTS