Re: HEADS UP: Win32/OS2/BeOS native ports

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Igor Kovalenko <Igor.Kovalenko@motorola.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, mlw <markw@mohawksoft.com>, "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org
Date: 2002-06-03T00:47:35Z
Lists: pgsql-hackers
Igor Kovalenko wrote:
> It does not have to be anonymous. POSIX also defines shm_open(same arguments
> as open) API which will create named object in whatever location corresponds
> to shared memory storage on that platform (object is then grown to needed
> size by ftruncate() and the fd is then passed to mmap). The object will
> exist in name space and can be detected by subsequent calls to shm_open()
> with same name. It is not really different from doing open(), but more
> portable (mmap() on regular files may not be supported).

Actually, I think the best shared memory implemention would be
MAP_ANON | MAP_SHARED mmap(), which could be called from the postmaster
and passed to child processes.

While all our platforms have mmap(), many don't have MAP_ANON, but those
that do could use it.  You need MAP_ANON to prevent the shared memory
from being written to a disk file.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026