-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle transitive calls from a nonexclusive method #719
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick fix!
transactron/core/manager.py
Outdated
if ( | ||
transaction1 is not transaction2 | ||
and not transactions_exclusive(transaction1, transaction2) | ||
and method in method_map.exclusive_methods_by_transaction[transaction1] | ||
and method in method_map.exclusive_methods_by_transaction[transaction2] | ||
): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the case like
T1 ------------------------> NORMAL
T2 -> NONEXCLUSIVE ---------/
T1 should conflict with T2. But because NORMAL
is not in the exclusive_methods_by_transaction[T2]
, it doesn't. I modified the tests, and both transactions execute at the same time. Am I doing/understanding something incorrectly, or there is a problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a problem, thanks for noticing that.
0d5b4b8
to
68c00bb
Compare
Fixes #717.