commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r5047 - gnuradio/branches/developers/eb/ibu/mblock/src


From: eb
Subject: [Commit-gnuradio] r5047 - gnuradio/branches/developers/eb/ibu/mblock/src/lib
Date: Wed, 18 Apr 2007 16:00:47 -0600 (MDT)

Author: eb
Date: 2007-04-18 16:00:47 -0600 (Wed, 18 Apr 2007)
New Revision: 5047

Added:
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.cc
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.h
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_time.h
Removed:
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_placeholder.cc
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_placeholder.h
Modified:
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/Makefile.am
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.cc
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.h
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.cc
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.h
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.cc
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.h
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h
   
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.cc
   
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.h
   gnuradio/branches/developers/eb/ibu/mblock/src/lib/mbi_runtime_lock.h
Log:
work-in-progress on mblock timeouts

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/Makefile.am      
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/Makefile.am      
2007-04-18 22:00:47 UTC (rev 5047)
@@ -54,6 +54,7 @@
        mb_port_simple.cc               \
        mb_protocol_class.cc            \
        mb_runtime.cc                   \
+       mb_runtime_base.cc              \
        mb_runtime_nop.cc               \
        mb_runtime_thread_per_block.cc  \
        mb_util.cc                      \
@@ -82,7 +83,7 @@
        mb_port_simple.h                \
        mb_protocol_class.h             \
        mb_runtime.h                    \
-       mb_runtime_nop.h                \
+       mb_time.h                       \
        mb_util.h                       
 
 
@@ -91,6 +92,8 @@
        mb_endpoint.h                   \
        mb_mblock_impl.h                \
        mb_msg_accepter_smp.h           \
+       mb_runtime_base.h               \
+       mb_runtime_nop.h                \
        mb_runtime_thread_per_block.h   \
        mb_worker.h                     \
        mbi_runtime_lock.h              \

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.cc
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.cc     
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.cc     
2007-04-18 22:00:47 UTC (rev 5047)
@@ -42,7 +42,9 @@
 mb_mblock::mb_mblock(mb_runtime *runtime,
                     const std::string &instance_name,
                     pmt_t user_arg)
-  : d_impl(mb_mblock_impl_sptr(new mb_mblock_impl(runtime, this, 
instance_name)))
+  : d_impl(mb_mblock_impl_sptr(
+              new mb_mblock_impl(dynamic_cast<mb_runtime_base*>(runtime),
+                                 this, instance_name)))
 {
 }
 
@@ -198,3 +200,36 @@
 {
   d_impl->runtime()->request_shutdown(result);
 }
+
+mb_time
+mb_mblock::time(const mb_time &relative_offset) const
+{
+  return d_impl->runtime()->time(relative_offset);
+}
+
+pmt_t
+mb_mblock::schedule_one_shot_timeout(const mb_time &abs_time, pmt_t user_data)
+{
+  mb_msg_accepter_sptr accepter = impl()->make_accepter(s_sys_port);
+  return d_impl->runtime()->schedule_one_shot_timeout(abs_time, user_data,
+                                                     accepter);
+}
+
+pmt_t
+mb_mblock::schedule_periodic_timeout(const mb_time &first_abs_time,
+                                    const mb_time &delta_time,
+                                    pmt_t user_data)
+{
+  mb_msg_accepter_sptr accepter = impl()->make_accepter(s_sys_port);
+  return d_impl->runtime()->schedule_periodic_timeout(first_abs_time,
+                                                     delta_time,
+                                                     user_data,
+                                                     accepter);
+}
+
+void
+mb_mblock::cancel_timeout(pmt_t handle)
+{
+  d_impl->runtime()->cancel_timeout(handle);
+}
+

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.h      
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock.h      
2007-04-18 22:00:47 UTC (rev 5047)
@@ -24,6 +24,7 @@
 #include <mb_common.h>
 #include <mb_message.h>
 #include <mb_port.h>
+#include <mb_time.h>
 
 
 /*!
@@ -242,6 +243,70 @@
   mb_mblock *parent() const;
 
   /*!
+   * \brief Return an absolute time suitable for use with 
schedule_one_shot_timeout
+   * & schedule_periodic_timeout
+   *
+   * The return value is the current time plus the given relative offset.
+   */
+  mb_time time(const mb_time &relative_offset = mb_time()) const;
+
+  /*!
+   * \brief Schedule a "one shot" timeout.
+   *
+   * \param abs_time the absolute time at which the timeout should fire
+   * \param user_data the data passed in the %timeout message.
+   *
+   * When the timeout fires, a message will be sent to the mblock.
+   *
+   * The message will have port_id = %sys-port, signal = %timeout,
+   * data = user_data, metadata = the handle returned from
+   * schedule_one_shot_timeout, pri = MB_PRI_BEST.
+   *
+   * \returns a handle that can be used in cancel_timeout, and is passed
+   * as the metadata field of the generated %timeout message.
+   *
+   * To cancel a pending timeout, call cancel_timeout.
+   */
+  pmt_t
+  schedule_one_shot_timeout(const mb_time &abs_time, pmt_t user_data);
+
+  /*!
+   * \brief Schedule a periodic timeout.
+   *
+   * \param first_abs_time The absolute time at which the first timeout should 
fire.
+   * \param delta_time The relative delay between the first and successive 
timeouts.
+   * \param user_data the data passed in the %timeout message.
+   *
+   * When the timeout fires, a message will be sent to the mblock, and a
+   * new timeout will be scheduled for previous absolute time + delta_time.
+   *
+   * The message will have port_id = %sys-port, signal = %timeout,
+   * data = user_data, metadata = the handle returned from
+   * schedule_one_shot_timeout, pri = MB_PRI_BEST.
+   *
+   * \returns a handle that can be used in cancel_timeout, and is passed
+   * as the metadata field of the generated %timeout message.
+   *
+   * To cancel a pending timeout, call cancel_timeout.
+   */
+  pmt_t
+  schedule_periodic_timeout(const mb_time &first_abs_time,
+                           const mb_time &delta_time,
+                           pmt_t user_data);
+
+  /*!
+   * \brief Attempt to cancel a pending timeout.
+   *
+   * Note that this only stops a future timeout from firing.  It is
+   * possible that a timeout may have already fired and enqueued a
+   * %timeout message, but that that message has not yet been seen by
+   * handle_message.
+   *
+   * \param handle returned from schedule_one_shot_timeout or 
schedule_periodic_timeout.
+   */
+  void cancel_timeout(pmt_t handle);
+
+  /*!
    * \brief Perform a pre-order depth-first traversal of the hierarchy.
    *
    * The traversal stops and returns false if any call to visitor returns 
false.

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.cc
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.cc        
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.cc        
2007-04-18 22:00:47 UTC (rev 5047)
@@ -52,7 +52,7 @@
 
 ////////////////////////////////////////////////////////////////////////
 
-mb_mblock_impl::mb_mblock_impl(mb_runtime *runtime, mb_mblock *mb,
+mb_mblock_impl::mb_mblock_impl(mb_runtime_base *runtime, mb_mblock *mb,
                               const std::string &instance_name)
   : d_runtime(runtime), d_mb(mb), d_mb_parent(0), 
     d_instance_name(instance_name), d_class_name("mblock")

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.h 
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_mblock_impl.h 
2007-04-18 22:00:47 UTC (rev 5047)
@@ -22,6 +22,7 @@
 #define INCLUDED_MB_MBLOCK_IMPL_H
 
 #include <mb_mblock.h>
+#include <mb_runtime_base.h>
 #include <mb_connection.h>
 #include <mb_msg_queue.h>
 #include <list>
@@ -37,7 +38,7 @@
  */
 class mb_mblock_impl : boost::noncopyable
 {
-  mb_runtime                  *d_runtime;      // pointer to runtime
+  mb_runtime_base             *d_runtime;      // pointer to runtime
   mb_mblock                   *d_mb;           // pointer to our associated 
mblock
   mb_mblock                   *d_mb_parent;    // pointer to our parent
 
@@ -51,7 +52,8 @@
   mb_msg_queue                 d_msgq;         // incoming messages for us
 
 public:
-  mb_mblock_impl(mb_runtime *runtime, mb_mblock *mb, const std::string 
&instance_name);
+  mb_mblock_impl(mb_runtime_base *runtime, mb_mblock *mb,
+                const std::string &instance_name);
   ~mb_mblock_impl();
 
   /*!
@@ -185,10 +187,10 @@
   mb_mblock_sptr component(const std::string &comp_name);
 
   //! Return the runtime instance
-  mb_runtime *runtime() { return d_runtime; }
+  mb_runtime_base *runtime() { return d_runtime; }
 
   //! Set the runtime instance
-  void set_runtime(mb_runtime *runtime) { d_runtime = runtime; }
+  void set_runtime(mb_runtime_base *runtime) { d_runtime = runtime; }
 
   /*
    * Our implementation methods

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.cc
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.cc    
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.cc    
2007-04-18 22:00:47 UTC (rev 5047)
@@ -37,8 +37,3 @@
   // nop
 }
 
-void
-mb_runtime::request_shutdown(pmt_t result)
-{
-  // nop
-}

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.h     
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime.h     
2007-04-18 22:00:47 UTC (rev 5047)
@@ -37,13 +37,8 @@
 class mb_runtime : boost::noncopyable,
                   public boost::enable_shared_from_this<mb_runtime>
 {
-  friend class mb_mblock_impl;
-
-  omni_mutex           d_brl;  // big runtime lock (avoid using this if 
possible...)
-
 protected:  
   mb_mblock_sptr       d_top;
-  
 
 public:
   mb_runtime(){}
@@ -66,32 +61,8 @@
                   pmt_t user_arg,
                   pmt_t *result = 0) = 0;
 
-
-  // ----------------------------------------------------------------
-  // Stuff from here down is really private to the implementation...
-  // ----------------------------------------------------------------
-
-  /*!
-   * \brief lock the big runtime lock
-   * \implementation
-   */
-  inline void lock() { d_brl.lock(); }
-
-  /*!
-   * \brief unlock the big runtime lock
-   * \implementation
-   */
-  inline void unlock() { d_brl.unlock(); }
-
-  virtual void request_shutdown(pmt_t result);
-
+  // QA only...
   mb_mblock_sptr top() { return d_top; }
-
-protected:
-  virtual mb_mblock_sptr
-  create_component(const std::string &instance_name,
-                  const std::string &class_name,
-                  pmt_t user_arg) = 0;
 };
 
 #endif /* INCLUDED_MB_RUNTIME_H */

Added: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.cc
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.cc       
                        (rev 0)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.cc       
2007-04-18 22:00:47 UTC (rev 5047)
@@ -0,0 +1,64 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007 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 2, 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 <mb_runtime_base.h>
+
+/*
+ * Default nop implementations...
+ */
+
+void
+mb_runtime_base::request_shutdown(pmt_t result)
+{
+}
+
+
+mb_time
+mb_runtime_base::time(const mb_time &relative_offset)
+{
+  return mb_time();
+}
+
+pmt_t
+mb_runtime_base::schedule_one_shot_timeout(const mb_time &abs_time,
+                                          pmt_t user_data,
+                                          mb_msg_accepter_sptr accepter)
+{
+  return PMT_F;
+}
+
+pmt_t
+mb_runtime_base::schedule_periodic_timeout(const mb_time &first_abs_time,
+                                          const mb_time &delta_time,
+                                          pmt_t user_data,
+                                          mb_msg_accepter_sptr accepter)
+{
+  return PMT_F;
+}
+
+void
+mb_runtime_base::cancel_timeout(pmt_t handle)
+{
+}
+

Added: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.h        
                        (rev 0)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_base.h        
2007-04-18 22:00:47 UTC (rev 5047)
@@ -0,0 +1,75 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007 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 2, 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.
+ */
+
+#ifndef INCLUDED_MB_RUNTIME_BASE_H
+#define INCLUDED_MB_RUNTIME_BASE_H
+
+#include <mb_runtime.h>
+#include <omnithread.h>
+#include <mb_time.h>
+
+/*
+ * \brief This is the runtime class used by the implementation.
+ */
+class mb_runtime_base : public mb_runtime
+{
+  omni_mutex           d_brl;  // big runtime lock (avoid using this if 
possible...)
+
+public:
+
+  /*!
+   * \brief lock the big runtime lock
+   * \implementation
+   */
+  inline void lock() { d_brl.lock(); }
+
+  /*!
+   * \brief unlock the big runtime lock
+   * \implementation
+   */
+  inline void unlock() { d_brl.unlock(); }
+
+  virtual void request_shutdown(pmt_t result);
+
+  virtual mb_mblock_sptr
+  create_component(const std::string &instance_name,
+                  const std::string &class_name,
+                  pmt_t user_arg) = 0;
+
+  virtual mb_time
+  time(const mb_time &relative_offset);
+
+  virtual pmt_t
+  schedule_one_shot_timeout(const mb_time &abs_time, pmt_t user_data,
+                           mb_msg_accepter_sptr accepter);
+
+  virtual pmt_t
+  schedule_periodic_timeout(const mb_time &first_abs_time,
+                           const mb_time &delta_time,
+                           pmt_t user_data,
+                           mb_msg_accepter_sptr accepter);
+  virtual void
+  cancel_timeout(pmt_t handle);
+  
+};
+
+
+#endif /* INCLUDED_MB_RUNTIME_BASE_H */

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h 
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h 
2007-04-18 22:00:47 UTC (rev 5047)
@@ -21,7 +21,7 @@
 #ifndef INCLUDED_MB_RUNTIME_NOP_H
 #define INCLUDED_MB_RUNTIME_NOP_H
 
-#include <mb_runtime.h>
+#include <mb_runtime_base.h>
 
 /*!
  * \brief Public constructor (factory) for mb_runtime_nop objects.
@@ -31,7 +31,7 @@
 /*!
  * \brief Concrete runtime that does nothing.  Used only during early QA tests.
  */
-class mb_runtime_nop : public mb_runtime
+class mb_runtime_nop : public mb_runtime_base
 {
 public:
   mb_runtime_nop();

Deleted: 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_placeholder.cc

Deleted: 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_placeholder.h

Modified: 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.cc
===================================================================
--- 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.cc
   2007-04-18 19:42:33 UTC (rev 5046)
+++ 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.cc
   2007-04-18 22:00:47 UTC (rev 5047)
@@ -253,3 +253,35 @@
                 signal, data, metadata, priority);
   }
 }
+
+mb_time
+mb_runtime_thread_per_block::time(const mb_time &relative_offset)
+{
+  return mb_time();    // FIXME
+}
+
+pmt_t
+mb_runtime_thread_per_block::schedule_one_shot_timeout
+  (const mb_time &abs_time,
+   pmt_t user_data,
+   mb_msg_accepter_sptr accepter)
+{
+  return PMT_F;                // FIXME
+}
+
+pmt_t
+mb_runtime_thread_per_block::schedule_periodic_timeout
+  (const mb_time &first_abs_time,
+   const mb_time &delta_time,
+   pmt_t user_data,
+   mb_msg_accepter_sptr accepter)
+{
+  return PMT_F;                // FIXME
+}
+
+void
+mb_runtime_thread_per_block::cancel_timeout(pmt_t handle)
+{
+  // FIXME
+}
+

Modified: 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.h
===================================================================
--- 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.h
    2007-04-18 19:42:33 UTC (rev 5046)
+++ 
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_block.h
    2007-04-18 22:00:47 UTC (rev 5047)
@@ -21,7 +21,7 @@
 #ifndef INCLUDED_MB_RUNTIME_THREAD_PER_BLOCK_H
 #define INCLUDED_MB_RUNTIME_THREAD_PER_BLOCK_H
 
-#include <mb_runtime.h>
+#include <mb_runtime_base.h>
 #include <mb_worker.h>
 
 /*!
@@ -30,7 +30,7 @@
  *
  * These are all implementation details.
  */
-class mb_runtime_thread_per_block : public mb_runtime
+class mb_runtime_thread_per_block : public mb_runtime_base
 {
 public:
   omni_mutex                 d_mutex;
@@ -67,6 +67,21 @@
                        pmt_t metadata = PMT_F,
                        mb_pri_t priority = MB_PRI_BEST);
 
+  mb_time
+  time(const mb_time &relative_offset);
+
+  pmt_t
+  schedule_one_shot_timeout(const mb_time &abs_time, pmt_t user_data,
+                           mb_msg_accepter_sptr accepter);
+
+  pmt_t
+  schedule_periodic_timeout(const mb_time &first_abs_time,
+                           const mb_time &delta_time,
+                           pmt_t user_data,
+                           mb_msg_accepter_sptr accepter);
+  void
+  cancel_timeout(pmt_t handle);
+
 };
 
 #endif /* INCLUDED_MB_RUNTIME_THREAD_PER_BLOCK_H */

Added: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_time.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_time.h                
                (rev 0)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_time.h        
2007-04-18 22:00:47 UTC (rev 5047)
@@ -0,0 +1,34 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007 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 2, 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.
+ */
+#ifndef INCLUDED_MB_TIME_H
+#define INCLUDED_MB_TIME_H
+
+struct mb_time {
+  long int d_sec;      // seconds 
+  long int d_nsec;     // nanosecs
+
+  mb_time() : d_sec(0), d_nsec(0) {}
+  mb_time(long secs, long nanosecs=0) : d_sec(secs), d_nsec(nanosecs) {}
+};
+
+typedef unsigned long mb_timeout_t;
+
+#endif /* INCLUDED_MB_TIME_H */

Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mbi_runtime_lock.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mbi_runtime_lock.h       
2007-04-18 19:42:33 UTC (rev 5046)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mbi_runtime_lock.h       
2007-04-18 22:00:47 UTC (rev 5047)
@@ -48,9 +48,9 @@
  */
 
 class mbi_runtime_lock : boost::noncopyable {
-  mb_runtime   *d_rt;
+  mb_runtime_base      *d_rt;
 public:
-  mbi_runtime_lock(mb_runtime *rt) : d_rt(rt) { d_rt->lock(); }
+  mbi_runtime_lock(mb_runtime_base *rt) : d_rt(rt) { d_rt->lock(); }
   mbi_runtime_lock(mb_mblock_impl *mi) : d_rt(mi->runtime()) { d_rt->lock(); }
   mbi_runtime_lock(mb_mblock *mb) : d_rt(mb->impl()->runtime()) { 
d_rt->lock(); }
   ~mbi_runtime_lock(void) { d_rt->unlock(); }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]