Skip to content

Commit 59f51e3

Browse files
committed
Use #pragma weak to prevent multiple definitions of g_client
The variable g_client is defined in both erpc_arbitrated_client_setup.cpp and erpc_client_setup.cpp. #pragma weak is used to avoid a linker failure due to multiple definitions of this variable. Resolves: #113
1 parent 1429add commit 59f51e3

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

erpc_c/setup/erpc_arbitrated_client_setup.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ using namespace erpc;
3232

3333
// global client variables
3434
static ManuallyConstructed<ArbitratedClientManager> s_client;
35-
extern ClientManager *g_client;
36-
ClientManager *g_client = NULL;
35+
#pragma weak g_client
36+
ClientManager *g_client;
3737

3838
static ManuallyConstructed<BasicCodecFactory> s_codecFactory;
3939
static ManuallyConstructed<TransportArbitrator> s_arbitrator;

erpc_c/setup/erpc_client_setup.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ using namespace erpc;
3030

3131
// global client variables
3232
static ManuallyConstructed<ClientManager> s_client;
33-
extern ClientManager *g_client;
34-
ClientManager *g_client = NULL;
33+
#pragma weak g_client
34+
ClientManager *g_client;
3535
static ManuallyConstructed<BasicCodecFactory> s_codecFactory;
3636
static ManuallyConstructed<Crc16> s_crc16;
3737

0 commit comments

Comments
 (0)