Improve buffer flush error handling (#416)

* Update include/rocprofiler-sdk/fwd.h

- add ROCPROFILER_STATUS_ERROR_FINALIZED error code

* Update lib/rocprofiler-sdk/rocprofiler.cpp

- status string for ROCPROFILER_STATUS_ERROR_FINALIZED

* Update lib/rocprofiler-sdk/buffer.cpp

- return error code if buffer flush invoked after finalized
- fatal error if task group destroyed
- error message if task runs after finalized
- improve join of task group

* Update lib/rocprofiler-sdk/counters/tests/evaluate_ast_tests.cpp

- Update lambdas to return reference due to strange -Warray-bounds and -Wstringop-overflow warnings with g++ (Ubuntu 13.1.0-8ubuntu1~20.04.2) 13.1.0
Tento commit je obsažen v:
Jonathan R. Madsen
2024-01-26 04:01:09 -06:00
odevzdal GitHub
rodič c443663032
revize 3547a45c0c
4 změnil soubory, kde provedl 33 přidání a 14 odebrání
+2
Zobrazit soubor
@@ -73,6 +73,8 @@ ROCPROFILER_STATUS_STRING(ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT,
"Function invoked with one or more invalid arguments")
ROCPROFILER_STATUS_STRING(ROCPROFILER_STATUS_ERROR_METRIC_NOT_VALID_FOR_AGENT,
"Metric is not valid for the agent")
ROCPROFILER_STATUS_STRING(ROCPROFILER_STATUS_ERROR_FINALIZED,
"Invalid request because rocprofiler has finalized")
template <size_t Idx, size_t... Tail>
const char*