/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2009 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
#ifndef INCLUDED_GR_TPB_DETAIL_H
#define INCLUDED_GR_TPB_DETAIL_H
-#include <boost/thread.hpp>
+#include <gruel/thread.h>
class gr_block_detail;
* \brief used by thread-per-block scheduler
*/
struct gr_tpb_detail {
- typedef boost::unique_lock<boost::mutex> scoped_lock;
- boost::mutex mutex; //< protects all vars
+ gruel::mutex mutex; //< protects all vars
bool input_changed;
- boost::condition_variable input_cond;
+ gruel::condition_variable input_cond;
bool output_changed;
- boost::condition_variable output_cond;
+ gruel::condition_variable output_cond;
gr_tpb_detail()
: input_changed(false), output_changed(false) {}
//! Called by us
void clear_changed()
{
- scoped_lock guard(mutex);
+ gruel::scoped_lock guard(mutex);
input_changed = false;
output_changed = false;
}
//! Used by notify_downstream
void set_input_changed()
{
- scoped_lock guard(mutex);
+ gruel::scoped_lock guard(mutex);
input_changed = true;
input_cond.notify_one();
}
//! Used by notify_upstream
void set_output_changed()
{
- scoped_lock guard(mutex);
+ gruel::scoped_lock guard(mutex);
output_changed = true;
output_cond.notify_one();
}