summaryrefslogtreecommitdiff
path: root/src/line_protocol_output.cpp
diff options
context:
space:
mode:
authorfumingwei <[email protected]>2023-08-31 19:36:47 +0800
committerfumingwei <[email protected]>2023-08-31 19:37:00 +0800
commitc6e449c69900cdaed15c48a5f6d64a74e1a0f7c4 (patch)
treef48798971c71d6fc3f21521a736c2fce9cdfe19b /src/line_protocol_output.cpp
parent7c96bc412f9ebb3b48bd96d75598cd0d20ab60b3 (diff)
bugfix:给调用uthash的语句加自旋锁
Diffstat (limited to 'src/line_protocol_output.cpp')
-rw-r--r--src/line_protocol_output.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/line_protocol_output.cpp b/src/line_protocol_output.cpp
index 1366b05..b1f9389 100644
--- a/src/line_protocol_output.cpp
+++ b/src/line_protocol_output.cpp
@@ -470,6 +470,7 @@ int line_protocol_dynamic_metric_output(struct fieldstat_dynamic_instance *insta
for(int i = 0; i < instance->n_thread; i++)
{
+ pthread_spin_lock(instance->uthash_locks + i);
head = &instance->n_thread_dynamic_metric[i];
HASH_ITER(hh, *head, dyn_metric, tmp_dyn_metric)
{
@@ -487,6 +488,7 @@ int line_protocol_dynamic_metric_output(struct fieldstat_dynamic_instance *insta
}
send_line_buf(&instance->line_protocol_output, line_buf, used_len);
}
+ pthread_spin_unlock(instance->uthash_locks + i);
}
flush_send_buf(&instance->line_protocol_output);