diff options
| author | fumingwei <[email protected]> | 2023-08-31 19:36:47 +0800 |
|---|---|---|
| committer | fumingwei <[email protected]> | 2023-08-31 19:37:00 +0800 |
| commit | c6e449c69900cdaed15c48a5f6d64a74e1a0f7c4 (patch) | |
| tree | f48798971c71d6fc3f21521a736c2fce9cdfe19b /src/line_protocol_output.cpp | |
| parent | 7c96bc412f9ebb3b48bd96d75598cd0d20ab60b3 (diff) | |
bugfix:给调用uthash的语句加自旋锁
Diffstat (limited to 'src/line_protocol_output.cpp')
| -rw-r--r-- | src/line_protocol_output.cpp | 2 |
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); |
