#include "test_utils.h"
int var = 0;
extern "C" { // TODO: make this line empty when ignore vs. mangling is fixed.
void Thread1() {
usleep(100000);
var = 1;
}
void Empty() {
}
void X() {
if (var) {
Empty();
}
var = 2;
}
void Y() {
if (var) {
Empty();
}
X();
}
void Thread2() {
Y();
}
} // TODO: make this line empty when ignore vs. mangling is fixed.
int main() {
ANNOTATE_TRACE_MEMORY(&var);
var = 0;
MyThread t1(Thread1, NULL, "test-thread-1");
MyThread t2(Thread2, NULL, "test-thread-2");
t1.Start();
t2.Start();
t1.Join();
t2.Join();
}