Re: do we EXEC_BACKEND on Mac OS X?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: do we EXEC_BACKEND on Mac OS X?
Date: 2012-10-03 16:41:37
Message-ID: 10986.1349282497@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> Alvaro Herrera <alvherre(at)2ndquadrant(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2012-10-03 17:08:17 Re: do we EXEC_BACKEND on Mac OS X?
Previous Message Tom Lane 2012-10-03 16:26:42 Re: do we EXEC_BACKEND on Mac OS X?