double get_timeout() const { return timeout_; }
};
-class ConditionWaitSimcall final : public ResultingSimcall<bool> {
- mc::Transition::Type type_;
+class ConditionVariableObserver final : public ResultingSimcall<bool> {
+ //mc::Transition::Type type_; Will be used when we implement CV on the MC side
activity::ConditionVariableImpl* const cond_;
activity::MutexImpl* const mutex_;
const double timeout_;
public:
- ConditionWaitSimcall(ActorImpl* actor, activity::ConditionVariableImpl* cond, activity::MutexImpl* mutex,
- double timeout = -1.0)
+ ConditionVariableObserver(ActorImpl* actor, activity::ConditionVariableImpl* cond, activity::MutexImpl* mutex,
+ double timeout = -1.0)
: ResultingSimcall(actor, false), cond_(cond), mutex_(mutex), timeout_(timeout)
{
+ xbt_assert(mutex != nullptr, "Cannot wait on a condition variable without a valid mutex");
}
void serialize(std::stringstream& stream) const override;
std::string to_string() const override;