projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nodestack: style
[model-checker.git]
/
model.cc
diff --git
a/model.cc
b/model.cc
index 1d3e0c4901b19095dda5091ba662d1b92f1a5aeb..843034d31acec815eb8c8943d6910eb074103f0b 100644
(file)
--- a/
model.cc
+++ b/
model.cc
@@
-254,8
+254,9
@@
Thread * ModelChecker::get_next_thread(ModelAction *curr)
tid = next->get_tid();
node_stack->pop_restofstack(2);
} else {
tid = next->get_tid();
node_stack->pop_restofstack(2);
} else {
+ ASSERT(prevnode);
/* Make a different thread execute for next step */
/* Make a different thread execute for next step */
- scheduler->add_sleep(
thread_map->get(id_to_int(next->get_tid()
)));
+ scheduler->add_sleep(
get_thread(next->get_tid(
)));
tid = prevnode->get_next_backtrack();
/* Make sure the backtracked thread isn't sleeping. */
node_stack->pop_restofstack(1);
tid = prevnode->get_next_backtrack();
/* Make sure the backtracked thread isn't sleeping. */
node_stack->pop_restofstack(1);
@@
-1295,7
+1296,7
@@
void ModelChecker::check_curr_backtracking(ModelAction *curr)
Node *currnode = curr->get_node();
Node *parnode = currnode->get_parent();
Node *currnode = curr->get_node();
Node *parnode = currnode->get_parent();
- if (
!parnode->backtrack_empty(
) ||
+ if (
(parnode && !parnode->backtrack_empty()
) ||
!currnode->misc_empty() ||
!currnode->read_from_empty() ||
!currnode->future_value_empty() ||
!currnode->misc_empty() ||
!currnode->read_from_empty() ||
!currnode->future_value_empty() ||