-/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2021. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
*/
MutexPtr Mutex::create()
{
- kernel::activity::MutexImpl* mutex = kernel::actor::simcall([] { return new kernel::activity::MutexImpl(); });
+ auto* mutex = new kernel::activity::MutexImpl();
return MutexPtr(&mutex->mutex(), false);
}
/* refcounting of the intrusive_ptr is delegated to the implementation object */
-void intrusive_ptr_add_ref(Mutex* mutex)
+void intrusive_ptr_add_ref(const Mutex* mutex)
{
xbt_assert(mutex);
if (mutex->pimpl_)
mutex->pimpl_->ref();
}
-void intrusive_ptr_release(Mutex* mutex)
+void intrusive_ptr_release(const Mutex* mutex)
{
xbt_assert(mutex);
if (mutex->pimpl_)
return mutex->try_lock();
}
-void sg_mutex_destroy(sg_mutex_t mutex)
+void sg_mutex_destroy(const_sg_mutex_t mutex)
{
delete mutex;
}