aboutsummaryrefslogtreecommitdiff
path: root/src/core/commandqueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/commandqueue.cpp')
-rw-r--r--src/core/commandqueue.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/commandqueue.cpp b/src/core/commandqueue.cpp
index 662dad1..d6a8f88 100644
--- a/src/core/commandqueue.cpp
+++ b/src/core/commandqueue.cpp
@@ -714,18 +714,20 @@ void Event::setStatus(Status status)
setStatusHelper(status);
}
-bool Event::addDependentEvent(Event *event)
+bool Event::addDependentEvent(Event *event) const
{
- pthread_mutex_lock(&p_state_mutex);
+ pthread_mutex_lock(const_cast<pthread_mutex_t *>(&p_state_mutex));
if (p_status == Event::Complete)
{
- pthread_mutex_unlock(&p_state_mutex);
+ pthread_mutex_unlock(const_cast<pthread_mutex_t *>(&p_state_mutex));
return false;
}
p_dependent_events.push_back(event);
- Object::reference(); // retain this event
- pthread_mutex_unlock(&p_state_mutex);
+
+ Coal::Event *tmp_event = const_cast<Coal::Event *>(this);
+ tmp_event->reference(); // retain this event
+ pthread_mutex_unlock(const_cast<pthread_mutex_t *>(&p_state_mutex));
return true;
}