mcs_mutex::guard g(mutex);
printf("store: %d\n", 17);
store_32(&shared, 17);
+ mutex->unlock(&g);
+ mutex->lock(&g);
+ printf("load: %u\n", load_32(&shared));
}
void threadB(void *arg)
{
mcs_mutex::guard g(mutex);
printf("load: %u\n", load_32(&shared));
+ mutex->unlock(&g);
+ mutex->lock(&g);
+ printf("store: %d\n", 17);
+ store_32(&shared, 17);
}
int user_main(int argc, char **argv)