Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit15916ff

Browse files
committed
Initialize ShmemVariableCache like other shmem areas
For sake of consistency.Reviewed-by: Tristan Partin, Richard GuoDiscussion:https://www.postgresql.org/message-id/6537d63d-4bb5-46f8-9b5d-73a8ba4720ab@iki.fi
1 parent049ef33 commit15916ff

File tree

5 files changed

+32
-12
lines changed

5 files changed

+32
-12
lines changed

‎src/backend/access/transam/varsup.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,33 @@
3434
VariableCacheShmemVariableCache=NULL;
3535

3636

37+
/*
38+
* Initialization of shared memory for ShmemVariableCache.
39+
*/
40+
Size
41+
VarsupShmemSize(void)
42+
{
43+
returnsizeof(VariableCacheData);
44+
}
45+
46+
void
47+
VarsupShmemInit(void)
48+
{
49+
boolfound;
50+
51+
/* Initialize our shared state struct */
52+
ShmemVariableCache=ShmemInitStruct("ShmemVariableCache",
53+
sizeof(VariableCacheData),
54+
&found);
55+
if (!IsUnderPostmaster)
56+
{
57+
Assert(!found);
58+
memset(ShmemVariableCache,0,sizeof(VariableCacheData));
59+
}
60+
else
61+
Assert(found);
62+
}
63+
3764
/*
3865
* Allocate the next FullTransactionId for a new transaction or
3966
* subtransaction.

‎src/backend/postmaster/postmaster.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@
8989
#include<pthread.h>
9090
#endif
9191

92-
#include"access/transam.h"
9392
#include"access/xlog.h"
9493
#include"access/xlogrecovery.h"
9594
#include"catalog/pg_control.h"
@@ -513,7 +512,6 @@ typedef struct
513512
#endif
514513
void*UsedShmemSegAddr;
515514
slock_t*ShmemLock;
516-
VariableCacheShmemVariableCache;
517515
Backend*ShmemBackendArray;
518516
#ifndefHAVE_SPINLOCKS
519517
PGSemaphore*SpinlockSemaArray;
@@ -6034,7 +6032,6 @@ save_backend_variables(BackendParameters *param, Port *port, BackgroundWorker *w
60346032
param->UsedShmemSegAddr=UsedShmemSegAddr;
60356033

60366034
param->ShmemLock=ShmemLock;
6037-
param->ShmemVariableCache=ShmemVariableCache;
60386035
param->ShmemBackendArray=ShmemBackendArray;
60396036

60406037
#ifndefHAVE_SPINLOCKS
@@ -6280,7 +6277,6 @@ restore_backend_variables(BackendParameters *param, Port **port, BackgroundWorke
62806277
UsedShmemSegAddr=param->UsedShmemSegAddr;
62816278

62826279
ShmemLock=param->ShmemLock;
6283-
ShmemVariableCache=param->ShmemVariableCache;
62846280
ShmemBackendArray=param->ShmemBackendArray;
62856281

62866282
#ifndefHAVE_SPINLOCKS

‎src/backend/storage/ipc/ipci.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include"access/nbtree.h"
2222
#include"access/subtrans.h"
2323
#include"access/syncscan.h"
24+
#include"access/transam.h"
2425
#include"access/twophase.h"
2526
#include"access/xlogprefetcher.h"
2627
#include"access/xlogrecovery.h"
@@ -118,6 +119,7 @@ CalculateShmemSize(int *num_semaphores)
118119
size=add_size(size,PredicateLockShmemSize());
119120
size=add_size(size,ProcGlobalShmemSize());
120121
size=add_size(size,XLogPrefetchShmemSize());
122+
size=add_size(size,VarsupShmemSize());
121123
size=add_size(size,XLOGShmemSize());
122124
size=add_size(size,XLogRecoveryShmemSize());
123125
size=add_size(size,CLOGShmemSize());
@@ -289,6 +291,7 @@ CreateOrAttachShmemStructs(void)
289291
/*
290292
* Set up xlog, clog, and buffers
291293
*/
294+
VarsupShmemInit();
292295
XLOGShmemInit();
293296
XLogPrefetchShmemInit();
294297
XLogRecoveryShmemInit();

‎src/backend/storage/ipc/shmem.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,6 @@ InitShmemAllocation(void)
140140
/* ShmemIndex can't be set up yet (need LWLocks first) */
141141
shmhdr->index=NULL;
142142
ShmemIndex= (HTAB*)NULL;
143-
144-
/*
145-
* Initialize ShmemVariableCache for transaction manager. (This doesn't
146-
* really belong here, but not worth moving.)
147-
*/
148-
ShmemVariableCache= (VariableCache)
149-
ShmemAlloc(sizeof(*ShmemVariableCache));
150-
memset(ShmemVariableCache,0,sizeof(*ShmemVariableCache));
151143
}
152144

153145
/*

‎src/include/access/transam.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ extern TransactionId TransactionIdLatest(TransactionId mainxid,
285285
externXLogRecPtrTransactionIdGetCommitLSN(TransactionIdxid);
286286

287287
/* in transam/varsup.c */
288+
externSizeVarsupShmemSize(void);
289+
externvoidVarsupShmemInit(void);
288290
externFullTransactionIdGetNewTransactionId(boolisSubXact);
289291
externvoidAdvanceNextFullTransactionIdPastXid(TransactionIdxid);
290292
externFullTransactionIdReadNextFullTransactionId(void);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp