Merged
Merge Request #17 · created by Steven de Ridder


5 mqttclient publish error


From 5-mqttclient_publish_error into master

Merged by Peter M. Groen

Source branch has been removed
2 participants

src/clientpaho.cpp
@@ -377,10 +377,10 @@ std::int32_t ClientPaho::publish( const MqttMessage& message, int qos ) @@ -377,10 +377,10 @@ std::int32_t ClientPaho::publish( const MqttMessage& message, int qos )
377 } 377 }
378 378
379 std::unique_lock<std::mutex> lck(m_mutex); 379 std::unique_lock<std::mutex> lck(m_mutex);
380 - if( ConnectionStatus::ReconnectInProgress == m_connectionStatus || m_processPendingPublishes ) 380 + if( ConnectionStatus::Connected != m_connectionStatus || m_processPendingPublishes )
381 { 381 {
382 m_pendingPublishesReadyCV.wait(lck, [this]() { return !m_processPendingPublishes; }); 382 m_pendingPublishesReadyCV.wait(lck, [this]() { return !m_processPendingPublishes; });
383 - if( ConnectionStatus::ReconnectInProgress == m_connectionStatus ) 383 + if( ConnectionStatus::Connected != m_connectionStatus )
384 { 384 {
385 LogDebug( "[ClientPaho::publish]", "Adding publish to pending queue." ); 385 LogDebug( "[ClientPaho::publish]", "Adding publish to pending queue." );
386 m_pendingPublishes.push_front( Publish{ qos, message } ); 386 m_pendingPublishes.push_front( Publish{ qos, message } );
@@ -789,6 +789,8 @@ void ClientPaho::onConnectOnInstance( const std::string&amp; cause ) @@ -789,6 +789,8 @@ void ClientPaho::onConnectOnInstance( const std::string&amp; cause )
789 789
790 void ClientPaho::onConnectSuccessOnInstance() 790 void ClientPaho::onConnectSuccessOnInstance()
791 { 791 {
  792 + m_processPendingPublishes = true;
  793 +
792 LogDebug( "[ClientPaho::onConnectSuccessOnInstance]", 794 LogDebug( "[ClientPaho::onConnectSuccessOnInstance]",
793 std::string( m_clientId + " - onConnectSuccessOnInstance triggered." ) ); 795 std::string( m_clientId + " - onConnectSuccessOnInstance triggered." ) );
794 { 796 {