Skip to content
This repository was archived by the owner on Oct 3, 2021. It is now read-only.

Commit 70e4455

Browse files
solved problem with race-3_2-container_of-global
1 parent 389e2de commit 70e4455

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

c/ldv-races/race-3_2-container_of-global.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ void *my_callback(void *arg) {
4646
data->shared.a = 1;
4747
__VERIFIER_atomic_end();
4848
__VERIFIER_atomic_begin();
49-
data->shared.b = data->shared.b + 1;
49+
int lb = data->shared.b;
50+
__VERIFIER_atomic_end();
51+
__VERIFIER_atomic_begin();
52+
data->shared.b = lb + 1;
5053
__VERIFIER_atomic_end();
5154
//pthread_mutex_unlock (&data->lock);
5255
return 0;

c/ldv-races/race-3_2-container_of-global.i

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1693,7 +1693,10 @@ void *my_callback(void *arg) {
16931693
data->shared.a = 1;
16941694
__VERIFIER_atomic_end();
16951695
__VERIFIER_atomic_begin();
1696-
data->shared.b = data->shared.b + 1;
1696+
int lb = data->shared.b;
1697+
__VERIFIER_atomic_end();
1698+
__VERIFIER_atomic_begin();
1699+
data->shared.b = lb + 1;
16971700
__VERIFIER_atomic_end();
16981701
return 0;
16991702
}

0 commit comments

Comments
 (0)