#include "bt_common.h"
#include "btif_uid.h"
+static std::mutex set_lock;
+
typedef struct uid_set_node_t {
struct uid_set_node_t* next;
bt_uid_traffic_t data;
} uid_set_node_t;
typedef struct uid_set_t {
- std::mutex lock;
uid_set_node_t* head;
} uid_set_t;
}
void uid_set_destroy(uid_set_t* set) {
- std::unique_lock<std::mutex> lock(set->lock);
+ std::unique_lock<std::mutex> guard(set_lock);
uid_set_node_t* node = set->head;
while (node) {
uid_set_node_t* temp = node;
void uid_set_add_tx(uid_set_t* set, int32_t app_uid, uint64_t bytes) {
if (app_uid == -1 || bytes == 0) return;
- std::unique_lock<std::mutex> lock(set->lock);
+ std::unique_lock<std::mutex> guard(set_lock);
uid_set_node_t* node = uid_set_find_or_create_node(set, app_uid);
node->data.tx_bytes += bytes;
}
void uid_set_add_rx(uid_set_t* set, int32_t app_uid, uint64_t bytes) {
if (app_uid == -1 || bytes == 0) return;
- std::unique_lock<std::mutex> lock(set->lock);
+ std::unique_lock<std::mutex> guard(set_lock);
uid_set_node_t* node = uid_set_find_or_create_node(set, app_uid);
node->data.rx_bytes += bytes;
}
bt_uid_traffic_t* uid_set_read_and_clear(uid_set_t* set) {
- std::unique_lock<std::mutex> lock(set->lock);
+ std::unique_lock<std::mutex> guard(set_lock);
// Find the length
size_t len = 0;