diff options
Diffstat (limited to 'src/backend/storage/ipc')
| -rw-r--r-- | src/backend/storage/ipc/ipc.c | 11 | ||||
| -rw-r--r-- | src/backend/storage/ipc/ipci.c | 11 |
2 files changed, 10 insertions, 12 deletions
diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c index 511893657f..62a38e14aa 100644 --- a/src/backend/storage/ipc/ipc.c +++ b/src/backend/storage/ipc/ipc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.35 1999/02/13 23:18:09 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.36 1999/02/21 01:41:44 tgl Exp $ * * NOTES * @@ -677,9 +677,10 @@ struct ipcdummy SLock *free; int unused; slock_t memlock; - SLock slocks[NSLOCKS]; + SLock slocks[MAX_SPINS + 1]; }; -static int SLockMemorySize = sizeof(struct ipcdummy); + +#define SLOCKMEMORYSIZE sizeof(struct ipcdummy) void CreateAndInitSLockMemory(IPCKey key) @@ -688,7 +689,7 @@ CreateAndInitSLockMemory(IPCKey key) SLock *slckP; SLockMemoryId = IpcMemoryCreate(key, - SLockMemorySize, + SLOCKMEMORYSIZE, 0700); AttachSLockMemory(key); *FreeSLockPP = NULL; @@ -713,7 +714,7 @@ AttachSLockMemory(IPCKey key) struct ipcdummy *slockM; if (SLockMemoryId == -1) - SLockMemoryId = IpcMemoryIdGet(key, SLockMemorySize); + SLockMemoryId = IpcMemoryIdGet(key, SLOCKMEMORYSIZE); if (SLockMemoryId == -1) elog(FATAL, "SLockMemory not in shared memory"); slockM = (struct ipcdummy *) IpcMemoryAttach(SLockMemoryId); diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c index 460f0ee10b..49259807b4 100644 --- a/src/backend/storage/ipc/ipci.c +++ b/src/backend/storage/ipc/ipci.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipci.c,v 1.20 1999/02/19 07:10:47 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipci.c,v 1.21 1999/02/21 01:41:44 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -72,7 +72,7 @@ CreateSharedMemoryAndSemaphores(IPCKey key, int maxBackends) * ---------------- */ CreateSpinlocks(IPCKeyGetSpinLockSemaphoreKey(key)); - size = BufferShmemSize() + LockShmemSize(); + size = BufferShmemSize() + LockShmemSize(maxBackends); #ifdef STABLE_MEMORY_STORAGE size += MMShmemSize(); @@ -113,15 +113,13 @@ CreateSharedMemoryAndSemaphores(IPCKey key, int maxBackends) void AttachSharedMemoryAndSemaphores(IPCKey key) { - int size; - /* ---------------- * create rather than attach if using private key * ---------------- */ if (key == PrivateIPCKey) { - CreateSharedMemoryAndSemaphores(key, 1); + CreateSharedMemoryAndSemaphores(key, 16); return; } @@ -136,8 +134,7 @@ AttachSharedMemoryAndSemaphores(IPCKey key) * attach the buffer manager buffer pool (and semaphore) * ---------------- */ - size = BufferShmemSize() + LockShmemSize(); - InitShmem(key, size); + InitShmem(key, 0); InitBufferPool(key); /* ---------------- |
