X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker-benchmarks.git;a=blobdiff_plain;f=mcs-lock%2Fmcs-lock.cc;h=ec0cc5df9d55c904d3a5cf9a677f42488371a7bb;hp=26e5a27edb76da058cc352eabd5c300a8fdb0ca8;hb=93ceed7e51a5c5c76b72e76782dbd12dc1cfb025;hpb=efc422a9ae20513f8a69b1cd53cb13de62dd4218 diff --git a/mcs-lock/mcs-lock.cc b/mcs-lock/mcs-lock.cc index 26e5a27..ec0cc5d 100644 --- a/mcs-lock/mcs-lock.cc +++ b/mcs-lock/mcs-lock.cc @@ -14,12 +14,19 @@ void threadA(void *arg) 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)