Stop all client contexts prior to finalization (#721)
* Stop all client contexts prior to finalization
* Update lib/common/container/static_vector.hpp
- improve emplace_back for non-{move,copy}-assignable object
* Update samples/intercept_table/client.cpp
- improve robustness against static object destruction
* Update lib/rocprofiler-sdk/context/context.cpp
- change storage of registered context array
- stable_vector of optional contexts
- common::static_object wrapper around stable_vector
* Update samples/intercept_table/client.cpp
- use variable template for underlying function pointer
[ROCm/rocprofiler-sdk commit: 939e23e9d1]
このコミットが含まれているのは:
@@ -30,6 +30,7 @@
|
||||
#include <cstddef>
|
||||
#include <cstdlib>
|
||||
#include <initializer_list>
|
||||
#include <type_traits>
|
||||
|
||||
namespace rocprofiler
|
||||
{
|
||||
@@ -208,7 +209,7 @@ static_vector<Tp, N, AtomicSizeV>::emplace_back(Args&&... _v)
|
||||
else
|
||||
m_data[_idx] = Tp{std::forward<Args>(_v)...};
|
||||
}
|
||||
else
|
||||
else if constexpr(std::is_move_assignable<Tp>::value || std::is_copy_assignable<Tp>::value)
|
||||
{
|
||||
m_data[_idx] = {};
|
||||
}
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする