diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c index 73d0edf8b3fa79facc640cf39ee74a029a487031..360788d85e41e203719c584fd1f55a35e32295c4 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.10 1998/06/23 17:52:28 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipci.c,v 1.11 1998/06/23 17:59:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -92,6 +92,7 @@ CreateSharedMemoryAndSemaphores(IPCKey key) * ---------------- */ InitLocks(); + InitMultiLevelLockm(); if (InitMultiLevelLockm() == INVALID_TABLEID) elog(FATAL, "Couldn't create the lock table"); @@ -145,7 +146,7 @@ AttachSharedMemoryAndSemaphores(IPCKey key) * ---------------- */ InitLocks(); - if (!MultiTableId && InitMultiLevelLockm() == INVALID_TABLEID) + if (InitMultiLevelLockm() == INVALID_TABLEID) elog(FATAL, "Couldn't attach to the lock table"); AttachSharedInvalidationState(key); diff --git a/src/backend/storage/lmgr/multi.c b/src/backend/storage/lmgr/multi.c index 19eafc06ce6780b3fb54aab5e8f326cf89bb8817..6c14bcd8958dd39cd280795b77b442f284a597fe 100644 --- a/src/backend/storage/lmgr/multi.c +++ b/src/backend/storage/lmgr/multi.c @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/Attic/multi.c,v 1.13 1998/06/23 17:52:28 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/Attic/multi.c,v 1.14 1998/06/23 17:59:54 momjian Exp $ * * NOTES: * (1) The lock.c module assumes that the caller here is doing @@ -89,6 +89,13 @@ InitMultiLevelLockm() { int tableId; + /* ----------------------- + * If we're already initialized just return the table id. + * ----------------------- + */ + if (MultiTableId) + return MultiTableId; + tableId = LockTabInit("LockTable", MultiConflicts, MultiPrios, 5); MultiTableId = tableId; if (!(MultiTableId))