-/* Copyright (c) 2018-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2018-2020. 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. */
Semaphore::Semaphore(unsigned int initial_capacity)
{
- sem_ = simix::simcall([initial_capacity] { return new kernel::activity::SemaphoreImpl(initial_capacity); });
+ sem_ = kernel::actor::simcall([initial_capacity] { return new kernel::activity::SemaphoreImpl(initial_capacity); });
}
Semaphore::~Semaphore()
{
if (sem_ != nullptr) {
- xbt_assert(sem_->sleeping_.empty(), "Cannot destroy semaphore since someone is still using it");
+ xbt_assert(not sem_->is_used(), "Cannot destroy semaphore since someone is still using it");
delete sem_;
}
}
void Semaphore::release()
{
- simix::simcall([this] { sem_->release(); });
+ kernel::actor::simcall([this] { sem_->release(); });
}
int Semaphore::get_capacity()
{
- return simix::simcall([this] { return sem_->get_capacity(); });
+ return kernel::actor::simcall([this] { return sem_->get_capacity(); });
}
int Semaphore::would_block()
{
- return simix::simcall([this] { return sem_->would_block(); });
+ return kernel::actor::simcall([this] { return sem_->would_block(); });
}
void intrusive_ptr_add_ref(Semaphore* sem)
return sem->get_capacity();
}
-void sg_sem_destroy(sg_sem_t sem)
+void sg_sem_destroy(const_sg_sem_t sem)
{
delete sem;
}