aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/support/stack_lockfree.c2
-rw-r--r--test/core/support/stack_lockfree_test.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/support/stack_lockfree.c b/src/core/support/stack_lockfree.c
index 598aa9cdf1..0093b33a2e 100644
--- a/src/core/support/stack_lockfree.c
+++ b/src/core/support/stack_lockfree.c
@@ -112,7 +112,7 @@ int gpr_stack_lockfree_push(gpr_stack_lockfree *stack, int entry) {
} while (!gpr_atm_rel_cas(&(stack->head.atm),
head.atm, newhead.atm));
/* Use rel_cas above to make sure that entry index is set properly */
- return head.atm == INVALID_ENTRY_INDEX;
+ return head.contents.index == INVALID_ENTRY_INDEX;
}
int gpr_stack_lockfree_pop(gpr_stack_lockfree *stack) {
diff --git a/test/core/support/stack_lockfree_test.c b/test/core/support/stack_lockfree_test.c
index ebee04d5b8..6141f9811d 100644
--- a/test/core/support/stack_lockfree_test.c
+++ b/test/core/support/stack_lockfree_test.c
@@ -62,7 +62,7 @@ static void test_serial_sized(int size) {
for (i=1; i<size; i*=2) {
int j;
for (j=0; j<=i; j++) {
- gpr_stack_lockfree_push(stack, j);
+ GPR_ASSERT(gpr_stack_lockfree_push(stack, j) == (j==0));
}
for (j=0; j<=i; j++) {
GPR_ASSERT(gpr_stack_lockfree_pop(stack) == i-j);