Re: connection file descriptors created with identical number after process fork on mac - Mailing list pgsql-general

From Chris Withers
Subject Re: connection file descriptors created with identical number after process fork on mac
Date
Msg-id a134ef69-b918-2222-2902-ca9d43109129@simplistix.co.uk
Whole thread Raw
In response to Re: connection file descriptors created with identical number after process fork on mac  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: connection file descriptors created with identical number after process fork on mac  (John R Pierce <pierce@hogranch.com>)
List pgsql-general
On 04/08/2016 00:20, Tom Lane wrote:
> Chris Withers <chris@simplistix.co.uk> writes:
>> I'm writing some multi-process code in Python and trying to make sure I
>> open a new connection for each process. Here's the really cut down code:
>> ...
>> What's really surpising to me is the output on a mac:
>
>> $ python psycopg2_multiprocess.py
>> 44276  child fd: 13
>> 44277  child fd: 13
>> 44278  child fd: 13
>> 44279  child fd: 13
>
>> The getpid() output indicates that the connec() call is being made
>> inside a different process each time, yet the connection appears to
>> still be using the same fd.
>
> FD numbers are process-local in all flavors of Unix.  The above only
> proves that all of these processes had FDs 0..12 open already, which
> doesn't seem terribly surprising.

Thanks, that's certainly good news!

How can I convince myself, from the client side, that I really have got
a new connection and not somehow ended up with one that been passed on
as part of the fork?

cheers,

Chris


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: connection file descriptors created with identical number after process fork on mac
Next
From: John R Pierce
Date:
Subject: Re: connection file descriptors created with identical number after process fork on mac