*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.77 2002/03/06 06:10:05 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.78 2002/04/13 19:52:51 momjian Exp $
*
* NOTES
*
on_shmem_exit(IpcMemoryDelete, Int32GetDatum(shmid));
/* OK, should be able to attach to the segment */
- memAddress = shmat(shmid, 0, 0);
+#if defined(solaris) && defined(__sparc__)
+ /* use intimate shared memory on SPARC Solaris */
+ memAddress = shmat(shmid, 0, SHM_SHARE_MMU);
+#else
+ memAddress = shmat(shmid, 0, 0);
+#endif
if (memAddress == (void *) -1)
{
shmid = shmget(NextShmemSegID, sizeof(PGShmemHeader), 0);
if (shmid < 0)
continue; /* failed: must be some other app's */
- memAddress = shmat(shmid, 0, 0);
+
+#if defined(solaris) && defined(__sparc__)
+ /* use intimate shared memory on SPARC Solaris */
+ memAddress = shmat(shmid, 0, SHM_SHARE_MMU);
+#else
+ memAddress = shmat(shmid, 0, 0);
+#endif
+
if (memAddress == (void *) -1)
continue; /* failed: must be some other app's */
hdr = (PGShmemHeader *) memAddress;