提交 fd5f11ba 编写于 作者: H Heikki Linnakangas

Rename faultInjectorSlots field for clarity.

上级 81b0e5fd
...@@ -47,8 +47,7 @@ ...@@ -47,8 +47,7 @@
typedef struct FaultInjectorShmem_s { typedef struct FaultInjectorShmem_s {
slock_t lock; slock_t lock;
int faultInjectorSlots; int numActiveFaults; /* number of fault injections set */
/* number of fault injection set */
HTAB *hash; HTAB *hash;
} FaultInjectorShmem_s; } FaultInjectorShmem_s;
...@@ -61,9 +60,9 @@ static FaultInjectorShmem_s *faultInjectorShmem = NULL; ...@@ -61,9 +60,9 @@ static FaultInjectorShmem_s *faultInjectorShmem = NULL;
* faultInjectorSlots_ptr points to this until shmem is initialized. Just to * faultInjectorSlots_ptr points to this until shmem is initialized. Just to
* keep any FaultInjector_InjectFaultIfSet calls from crashing. * keep any FaultInjector_InjectFaultIfSet calls from crashing.
*/ */
static int dummyslots = 0; static int dummy = 0;
int *faultInjectorSlots_ptr = &dummyslots; int *numActiveFaults_ptr = &dummy;
static void FiLockAcquire(void); static void FiLockAcquire(void);
static void FiLockRelease(void); static void FiLockRelease(void);
...@@ -197,7 +196,7 @@ FaultInjector_ShmemInit(void) ...@@ -197,7 +196,7 @@ FaultInjector_ShmemInit(void)
(errmsg("not enough shared memory for fault injector")))); (errmsg("not enough shared memory for fault injector"))));
} }
faultInjectorSlots_ptr = &faultInjectorShmem->faultInjectorSlots; numActiveFaults_ptr = &faultInjectorShmem->numActiveFaults;
if (! foundPtr) if (! foundPtr)
{ {
...@@ -206,7 +205,7 @@ FaultInjector_ShmemInit(void) ...@@ -206,7 +205,7 @@ FaultInjector_ShmemInit(void)
SpinLockInit(&faultInjectorShmem->lock); SpinLockInit(&faultInjectorShmem->lock);
faultInjectorShmem->faultInjectorSlots = 0; faultInjectorShmem->numActiveFaults = 0;
MemSet(&hash_ctl, 0, sizeof(hash_ctl)); MemSet(&hash_ctl, 0, sizeof(hash_ctl));
hash_ctl.keysize = FAULT_NAME_MAX_LENGTH; hash_ctl.keysize = FAULT_NAME_MAX_LENGTH;
...@@ -278,7 +277,7 @@ FaultInjector_InjectFaultIfSet_out_of_line( ...@@ -278,7 +277,7 @@ FaultInjector_InjectFaultIfSet_out_of_line(
* Although this is a race condition without lock, a false negative is * Although this is a race condition without lock, a false negative is
* ok given this framework is purely for dev/testing. * ok given this framework is purely for dev/testing.
*/ */
if (faultInjectorShmem->faultInjectorSlots == 0) if (faultInjectorShmem->numActiveFaults == 0)
return FaultInjectorTypeNotSpecified; return FaultInjectorTypeNotSpecified;
snprintf(databaseNameLocal, sizeof(databaseNameLocal), "%s", databaseName); snprintf(databaseNameLocal, sizeof(databaseNameLocal), "%s", databaseName);
...@@ -613,7 +612,7 @@ FaultInjector_NewHashEntry( ...@@ -613,7 +612,7 @@ FaultInjector_NewHashEntry(
FiLockAcquire(); FiLockAcquire();
if ((faultInjectorShmem->faultInjectorSlots + 1) >= FAULTINJECTOR_MAX_SLOTS) { if ((faultInjectorShmem->numActiveFaults + 1) >= FAULTINJECTOR_MAX_SLOTS) {
FiLockRelease(); FiLockRelease();
status = STATUS_ERROR; status = STATUS_ERROR;
ereport(WARNING, ereport(WARNING,
...@@ -673,7 +672,7 @@ FaultInjector_NewHashEntry( ...@@ -673,7 +672,7 @@ FaultInjector_NewHashEntry(
entryLocal->faultInjectorState = FaultInjectorStateWaiting; entryLocal->faultInjectorState = FaultInjectorStateWaiting;
faultInjectorShmem->faultInjectorSlots++; faultInjectorShmem->numActiveFaults++;
FiLockRelease(); FiLockRelease();
...@@ -760,18 +759,18 @@ FaultInjector_SetFaultInjection( ...@@ -760,18 +759,18 @@ FaultInjector_SetFaultInjection(
while ((entryLocal = (FaultInjectorEntry_s *) hash_seq_search(&hash_status)) != NULL) { while ((entryLocal = (FaultInjectorEntry_s *) hash_seq_search(&hash_status)) != NULL) {
isRemoved = FaultInjector_RemoveHashEntry(entryLocal->faultName); isRemoved = FaultInjector_RemoveHashEntry(entryLocal->faultName);
if (isRemoved == TRUE) { if (isRemoved == TRUE) {
faultInjectorShmem->faultInjectorSlots--; faultInjectorShmem->numActiveFaults--;
} }
} }
FiLockRelease(); FiLockRelease();
Assert(faultInjectorShmem->faultInjectorSlots == 0); Assert(faultInjectorShmem->numActiveFaults == 0);
} }
else else
{ {
FiLockAcquire(); FiLockAcquire();
isRemoved = FaultInjector_RemoveHashEntry(entry->faultName); isRemoved = FaultInjector_RemoveHashEntry(entry->faultName);
if (isRemoved == TRUE) { if (isRemoved == TRUE) {
faultInjectorShmem->faultInjectorSlots--; faultInjectorShmem->numActiveFaults--;
} }
FiLockRelease(); FiLockRelease();
} }
......
...@@ -96,11 +96,11 @@ extern FaultInjectorType_e FaultInjector_InjectFaultIfSet_out_of_line( ...@@ -96,11 +96,11 @@ extern FaultInjectorType_e FaultInjector_InjectFaultIfSet_out_of_line(
const char* tableName); const char* tableName);
#define FaultInjector_InjectFaultIfSet(faultName, ddlStatement, databaseName, tableName) \ #define FaultInjector_InjectFaultIfSet(faultName, ddlStatement, databaseName, tableName) \
(((*faultInjectorSlots_ptr) > 0) ? \ (((*numActiveFaults_ptr) > 0) ? \
FaultInjector_InjectFaultIfSet_out_of_line(faultName, ddlStatement, databaseName, tableName) : \ FaultInjector_InjectFaultIfSet_out_of_line(faultName, ddlStatement, databaseName, tableName) : \
FaultInjectorTypeNotSpecified) FaultInjectorTypeNotSpecified)
extern int *faultInjectorSlots_ptr; extern int *numActiveFaults_ptr;
extern char *InjectFault( extern char *InjectFault(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册