Re: connection file descriptors created with identical number after process fork on mac

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Chris Withers <chris(at)simplistix(dot)co(dot)uk>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: connection file descriptors created with identical number after process fork on mac
Date: 2016-08-03 23:20:00
Message-ID: 24744.1470266400@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Chris Withers <chris(at)simplistix(dot)co(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chris Withers 2016-08-03 23:25:09 Re: connection file descriptors created with identical number after process fork on mac
Previous Message Chris Withers 2016-08-03 22:48:52 connection file descriptors created with identical number after process fork on mac