| 862 | } |
| 863 | |
| 864 | void installThreadLocalDebugAgent ( DebugAgentPtr newAgent, LineInfoArg * at, Context * context ) { |
| 865 | if ( *daScriptEnvironment::g_threadLocalDebugAgent && (*daScriptEnvironment::g_threadLocalDebugAgent)->debugAgent ) { |
| 866 | context->throw_error_at(at, "thread local debug agent already installed"); |
| 867 | } |
| 868 | std::lock_guard<std::recursive_mutex> guard(g_DebugAgentMutex); |
| 869 | (*daScriptEnvironment::g_threadLocalDebugAgent) = new DebugAgentInstance{ |
| 870 | debugAgentContextOrNull(context), |
| 871 | newAgent |
| 872 | }; |
| 873 | DebugAgent * newAgentPtr = newAgent.get(); |
| 874 | for_each_debug_agent([newAgentPtr](DebugAgentPtr agent){ |
| 875 | agent->onInstall(newAgentPtr); |
| 876 | }); |
| 877 | } |
| 878 | |
| 879 | void installDebugAgent ( DebugAgentPtr newAgent, const char * category, LineInfoArg * at, Context * context ) { |
| 880 | if ( !category ) context->throw_error_at(at, "need to specify category"); |
nothing calls this directly
no test coverage detected