diff options
Diffstat (limited to 'gruel')
-rw-r--r-- | gruel/src/include/gruel/thread.h | 10 | ||||
-rw-r--r-- | gruel/src/lib/Makefile.am | 3 | ||||
-rw-r--r-- | gruel/src/lib/thread.cc | 35 |
3 files changed, 46 insertions, 2 deletions
diff --git a/gruel/src/include/gruel/thread.h b/gruel/src/include/gruel/thread.h index 0e7acaa85..d72e5520c 100644 --- a/gruel/src/include/gruel/thread.h +++ b/gruel/src/include/gruel/thread.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2009 Free Software Foundation, Inc. + * Copyright 2009,2010 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -22,12 +22,20 @@ #define INCLUDED_THREAD_H #include <boost/thread.hpp> +#include <boost/date_time/posix_time/posix_time.hpp> namespace gruel { + typedef boost::thread thread; typedef boost::mutex mutex; typedef boost::unique_lock<boost::mutex> scoped_lock; typedef boost::condition_variable condition_variable; + typedef boost::posix_time::time_duration duration; + + /*! + * Returns absolute time 'secs' into the future + */ + boost::system_time get_new_timeout(double secs); } /* namespace gruel */ diff --git a/gruel/src/lib/Makefile.am b/gruel/src/lib/Makefile.am index b21f8023c..6bde9ee27 100644 --- a/gruel/src/lib/Makefile.am +++ b/gruel/src/lib/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2008,2009 Free Software Foundation, Inc. +# Copyright 2008,2009,2010 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -45,6 +45,7 @@ MSG_LIB = msg/libmsg.la libgruel_la_SOURCES = \ realtime.cc \ sys_pri.cc \ + thread.cc \ thread_body_wrapper.cc \ thread_group.cc diff --git a/gruel/src/lib/thread.cc b/gruel/src/lib/thread.cc new file mode 100644 index 000000000..d8f77b506 --- /dev/null +++ b/gruel/src/lib/thread.cc @@ -0,0 +1,35 @@ +/* -*- c++ -*- */ +/* + * Copyright 2010 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif +#include <gruel/thread.h> + +namespace gruel { + + boost::system_time + get_new_timeout(double secs) + { + return boost::get_system_time() + boost::posix_time::milliseconds(long(secs*1e3)); + } + +} |