Line data Source code
1 : /* 2 : * * Copyright (c) 2021 Juniper Networks, Inc. All rights reserved. 3 : * * Copyright Contributors to the OpenSDN project 4 : * */ 5 : #include <base/task.h> 6 : #include <cmn/agent.h> 7 : 8 : typedef void (*cxa_throw_type)(void *, void *, void (*) (void *)); 9 : cxa_throw_type AgentCxaThrow = 0; 10 : 11 0 : void LoadAgentThrow() 12 : { 13 0 : AgentCxaThrow = (cxa_throw_type)dlsym(RTLD_NEXT, "__cxa_throw"); 14 0 : } 15 : 16 0 : void __cxa_throw (void *thrown_exception, void *pvtinfo, void (*dest)(void *)) 17 : { 18 : 19 0 : if (AgentCxaThrow == 0) 20 0 : LoadAgentThrow(); 21 : 22 0 : assert(0); 23 : 24 : AgentCxaThrow(thrown_exception, pvtinfo, dest); 25 : while(1); 26 : }