Changeset 91:76d9b2487b32 in finroc_plugins_data_ports


Ignore:
Timestamp:
05.02.2015 21:05:42 (4 years ago)
Author:
Max Reichardt <mreichardt@…>
Branch:
14.08
Children:
92:1f3700099632, 96:bd4e96b80835
Parents:
85:b0cb42d24e96 (diff), 90:8d0cefd29e09 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Phase:
public
Message:

Merged with 13.10

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • common/tPublishOperation.h

    r73 r91  
    9797    { 
    9898      FINROC_LOG_PRINT(WARNING, "Port is not ready. Ignoring publishing request."); 
     99      this->CheckRecycle(); 
    99100      return; 
    100101    } 
  • common/tPublishOperation.h

    r90 r91  
    111111    { 
    112112      port.SetChanged(CHANGE_CONSTANT); 
     113#ifndef _LIB_FINROC_PLUGINS_DATA_RECORDING_PRESENT_ 
    113114      port.template NotifyListeners<CHANGE_CONSTANT>(*this); 
    114115    } 
     116#else 
     117    } 
     118    port.template NotifyListeners<CHANGE_CONSTANT>(*this); 
     119#endif 
    115120 
    116121    if (!REVERSE) 
  • optimized/tCheapCopyPort.h

    r69 r91  
    490490        assert((used_locks < cADD_LOCKS) && "Too many locks in this publishing operation"); 
    491491        published_buffer->ReleaseLocks<tUnusedManagerPointer::deleter_type, tCheaplyCopiedBufferManager>(cADD_LOCKS - used_locks); 
     492        published_buffer = NULL; 
    492493      } 
    493494    } 
     
    582583        tUnusedBufferRecycler recycler; 
    583584        recycler(published_buffer); 
     585        published_buffer = NULL; 
    584586      } 
    585587    } 
  • optimized/tCheapCopyPort.h

    r90 r91  
    8787class tCheapCopyPort : public common::tAbstractDataPort 
    8888{ 
     89#ifndef RRLIB_SINGLE_THREADED 
     90 
    8991  template<typename T> 
    9092  friend class finroc::data_ports::tPort; 
     
    164166 
    165167  /*! 
    166    * \param creation_info PortCreationInformation 
     168   * \param creation_info Port creation information 
    167169   */ 
    168170  tCheapCopyPort(common::tAbstractDataPortCreationInfo creation_info); 
     
    240242    { 
    241243      tLockingManagerPointer dc = PullValueRaw(strategy == tStrategy::PULL_IGNORING_HANDLER_ON_THIS_PORT); 
    242       rrlib::rtti::sStaticTypeInfo<T>::DeepCopy(dc->GetObject().GetData<T>(), buffer, NULL); 
     244      rrlib::rtti::GenericOperations<T>::DeepCopy(dc->GetObject().GetData<T>(), buffer); 
    243245    } 
    244246  } 
     
    271273    { 
    272274      tLockingManagerPointer dc = PullValueRaw(strategy == tStrategy::PULL_IGNORING_HANDLER_ON_THIS_PORT); 
    273       rrlib::rtti::sStaticTypeInfo<T>::DeepCopy(dc->GetObject().GetData<T>(), buffer, NULL); 
     275      rrlib::rtti::GenericOperations<T>::DeepCopy(dc->GetObject().GetData<T>(), buffer); 
    274276      timestamp = dc->GetTimestamp(); 
    275277    } 
     
    304306  } 
    305307 
    306   virtual void ForwardData(tAbstractDataPort& other); 
     308  virtual void ForwardData(tAbstractDataPort& other) override; 
    307309 
    308310  /*! 
     
    384386  } 
    385387 
    386   virtual void NotifyDisconnect(); 
     388  virtual void NotifyDisconnect(); // TODO: why is this virtual? 
    387389 
    388390//  /*! 
     
    816818//  } 
    817819 
    818   virtual int GetMaxQueueLengthImplementation() const; 
     820  virtual int GetMaxQueueLengthImplementation() const override; 
    819821 
    820822//  /*! 
     
    829831//  } 
    830832 
    831   virtual void InitialPushTo(tAbstractPort& target, bool reverse); 
     833  virtual void InitialPushTo(tAbstractPort& target, bool reverse) override; 
    832834 
    833835  /*! 
     
    972974    } 
    973975  } 
     976#else 
     977 
     978public: 
     979  inline tUnit GetUnit() 
     980  { 
     981    return tUnit::cNO_UNIT; 
     982  } 
     983 
     984#endif // RRLIB_SINGLE_THREADED 
    974985}; 
    975986 
Note: See TracChangeset for help on using the changeset viewer.