msg_thread::~msg_thread()
{
if (thread)
- throw std::logic_error("trying to destroy running thread");
+ xbt_die("ERROR: trying to destroy running thread");
}
void msg_thread::start()
{
mutex.acquire();
if (started)
- throw std::logic_error("thread was already started");
+ xbt_die("ERROR: thread was already started");
XBT_DEBUG("launch \"%s\"", thread_name.c_str());
thread = MSG_process_create(thread_name.c_str(),
msg_thread::start_wrapper,
{
mutex.acquire();
if (!started)
- throw std::logic_error("trying to wait a thread that was not started");
+ xbt_die("ERROR: trying to wait for a thread that was not started");
while (thread) {
XBT_DEBUG("waiting for \"%s\" to terminate",
thread_name.c_str());