fix new bug
[model-checker.git] / model.cc
index 52eab24c6790fdc472bdfc30937fa356aa319fed..f320b8fab5ffdcfddc487f294afad91c80cb4022 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -235,7 +235,7 @@ void ModelChecker::wake_up_sleeping_actions(ModelAction * curr) {
                Thread *thr=get_thread(tid);
                if ( scheduler->get_enabled(thr) == THREAD_SLEEP_SET ) {
                        ModelAction *pending_act=thr->get_pending();
                Thread *thr=get_thread(tid);
                if ( scheduler->get_enabled(thr) == THREAD_SLEEP_SET ) {
                        ModelAction *pending_act=thr->get_pending();
-                       if (pending_act->could_synchronize_with(curr)) {
+                       if ((!curr->is_rmwr())&&pending_act->could_synchronize_with(curr)) {
                                //Remove this thread from sleep set
                                scheduler->remove_sleep(thr);
                        }
                                //Remove this thread from sleep set
                                scheduler->remove_sleep(thr);
                        }