X-Git-Url: http://demsky.eecs.uci.edu/git/?p=model-checker.git;a=blobdiff_plain;f=impatomic.cc;h=2d48989c147d051bd61d3a4d01fe0e2ba1bcf9ea;hp=571789d662f154e109025e23c6d09ac89f998692;hb=2d0d4ac38e05905a6633b3f2d5112ccadd45c27f;hpb=cc2accafaceffae9593b64b9f526d6c8d6239bd4 diff --git a/impatomic.cc b/impatomic.cc index 571789d..2d48989 100644 --- a/impatomic.cc +++ b/impatomic.cc @@ -2,13 +2,13 @@ #include "common.h" #include "model.h" #include "threads-model.h" +#include "action.h" namespace std { bool atomic_flag_test_and_set_explicit ( volatile atomic_flag * __a__, memory_order __x__ ) { volatile bool * __p__ = &((__a__)->__f__); - model->switch_to_master(new ModelAction(ATOMIC_RMWR, __x__, (void *) __p__)); - bool result = (bool) thread_current()->get_return_value(); + bool result = (bool) model->switch_to_master(new ModelAction(ATOMIC_RMWR, __x__, (void *) __p__)); model->switch_to_master(new ModelAction(ATOMIC_RMW, __x__, (void *) __p__, true)); return result; }