From 15fba8379f3a9e4ff0428cc3e4292aad40e485b1 Mon Sep 17 00:00:00 2001 From: freddeng Date: Wed, 18 Apr 2018 22:51:57 +1000 Subject: Update common_port.cpp --- daemons/gptp/common/common_port.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'daemons') diff --git a/daemons/gptp/common/common_port.cpp b/daemons/gptp/common/common_port.cpp index 268bc62d..c11f5bef 100644 --- a/daemons/gptp/common/common_port.cpp +++ b/daemons/gptp/common/common_port.cpp @@ -296,18 +296,22 @@ bool CommonPort::restoreSerializedState void CommonPort::startSyncReceiptTimer ( long long unsigned int waitTime ) { + clock->getTimerQLock(); syncReceiptTimerLock->lock(); clock->deleteEventTimerLocked( this, SYNC_RECEIPT_TIMEOUT_EXPIRES ); clock->addEventTimerLocked ( this, SYNC_RECEIPT_TIMEOUT_EXPIRES, waitTime ); syncReceiptTimerLock->unlock(); + clock->putTimerQLock(); } void CommonPort::stopSyncReceiptTimer( void ) { + clock->getTimerQLock(); syncReceiptTimerLock->lock(); clock->deleteEventTimerLocked( this, SYNC_RECEIPT_TIMEOUT_EXPIRES ); syncReceiptTimerLock->unlock(); + clock->putTimerQLock(); } void CommonPort::startSyncIntervalTimer -- cgit v1.2.1 From 1cb01252c0b64b572c9d567a7c3a145d364dd12b Mon Sep 17 00:00:00 2001 From: Fred Deng Date: Fri, 27 Apr 2018 12:56:19 +1000 Subject: Change to using addEventTimer and deleteEventTimer without lock. --- daemons/gptp/common/avbts_clock.hpp | 6 ++++-- daemons/gptp/common/common_port.cpp | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'daemons') diff --git a/daemons/gptp/common/avbts_clock.hpp b/daemons/gptp/common/avbts_clock.hpp index 614464c2..22a72464 100644 --- a/daemons/gptp/common/avbts_clock.hpp +++ b/daemons/gptp/common/avbts_clock.hpp @@ -162,7 +162,9 @@ private: OSLock *timerq_lock; - /** +public: + + /** * @brief Add a new event to the timer queue * @param target EtherPort target * @param e Event to be added @@ -179,7 +181,7 @@ private: * @return void */ void deleteEventTimer( CommonPort *target, Event e ); -public: + /** * @brief Instantiates a IEEE 1588 Clock * @param forceOrdinarySlave Forces it to be an ordinary slave diff --git a/daemons/gptp/common/common_port.cpp b/daemons/gptp/common/common_port.cpp index c11f5bef..dc47d9d2 100644 --- a/daemons/gptp/common/common_port.cpp +++ b/daemons/gptp/common/common_port.cpp @@ -298,8 +298,8 @@ void CommonPort::startSyncReceiptTimer { clock->getTimerQLock(); syncReceiptTimerLock->lock(); - clock->deleteEventTimerLocked( this, SYNC_RECEIPT_TIMEOUT_EXPIRES ); - clock->addEventTimerLocked + clock->deleteEventTimer( this, SYNC_RECEIPT_TIMEOUT_EXPIRES ); + clock->addEventTimer ( this, SYNC_RECEIPT_TIMEOUT_EXPIRES, waitTime ); syncReceiptTimerLock->unlock(); clock->putTimerQLock(); @@ -309,7 +309,7 @@ void CommonPort::stopSyncReceiptTimer( void ) { clock->getTimerQLock(); syncReceiptTimerLock->lock(); - clock->deleteEventTimerLocked( this, SYNC_RECEIPT_TIMEOUT_EXPIRES ); + clock->deleteEventTimer( this, SYNC_RECEIPT_TIMEOUT_EXPIRES ); syncReceiptTimerLock->unlock(); clock->putTimerQLock(); } -- cgit v1.2.1