Part Number: TDA4VM
In v7.03 RTOS+QNX plantform.
appCommonInit() is invoked twice in a process,
appCommonInit();
appCommonDeInit();
appCommonInit();
I do that in main_ipc.c file, as follow:

Power on EVM. run vx_app_arm_ipc.out, output log as follow:

This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: TDA4VM
In v7.03 RTOS+QNX plantform.
appCommonInit() is invoked twice in a process,
appCommonInit();
appCommonDeInit();
appCommonInit();
I do that in main_ipc.c file, as follow:

Power on EVM. run vx_app_arm_ipc.out, output log as follow:

Hi Zhao,
Thanks for reporting the issue. We were able to reproduce it locally, and this appears to be a bug when running the test on QNX. I have filed a bug internally, and will follow up when we have a fix.
regards
Suman
Hi Suman:
In our project application, developer found error when two threads invoke appCommonInit in a process.

Hi Hongrun,
Is this a different scenario than the one that you originally reported?
I do see that the appCommonInit() does have reference counting with pthread_mutex protection, so is very strange to see if you are seeing two parallel instance initialization traces. Only one of them should have gone through.
regards
Suman
Hi Chao Yang,
The fix will be part of our next 8.1 release which is couple of months away. FYI, 8.0 SDK release was made last week.
regards
Suman
Hi Hongrun,
Please try the following change and see if it fixes your issue.
In resmgr/ipc_qnx_rsmgr/usr/ipc_api.c
int32_t Ipc_deinit(void)
{
int32_t retVal = IPC_SOK;
if (g_IpcFd > 0)
{
close(g_IpcFd);
+ g_IpcFd = -1;
}
return (retVal);
}