OSDN Git Service

gd: Fix advertising id not removed bug
authorChienyuan <chienyuanhuang@google.com>
Tue, 26 Jan 2021 11:46:30 +0000 (19:46 +0800)
committerChienyuan <chienyuanhuang@google.com>
Tue, 26 Jan 2021 11:46:30 +0000 (19:46 +0800)
Tag: #gd-refactor
Bug: 177044452
Test: gd/cert/run --host
Change-Id: I600c39dd84b7712f905f327ea419c287a02c97f8

gd/hci/le_advertising_manager.cc

index 9b5aa56..aa18b9b 100644 (file)
@@ -196,7 +196,6 @@ struct LeAdvertisingManager::impl : public bluetooth::hci::LeAddressManagerCallb
     if (advertising_sets_.count(advertiser_id) == 0) {
       return;
     }
-    advertising_sets_.erase(advertiser_id);
     if (advertising_sets_.empty() && address_manager_registered) {
       le_address_manager_->Unregister(this);
       address_manager_registered = false;
@@ -212,6 +211,7 @@ struct LeAdvertisingManager::impl : public bluetooth::hci::LeAddressManagerCallb
         advertising_sets_[advertiser_id].address_rotation_alarm.reset();
       }
     }
+    advertising_sets_.erase(advertiser_id);
   }
 
   void create_advertiser(