Using ubus for IPC for multiple processes

I am trying to use ubus as IPC for multiple processes.
Currently,
I am using ubus C APIs for the same.
My scenario:
I have a process named proc1 which should be a blocking process waiting for some calls,
In this I have written code using ubus APIs
I connected to ubusd and then added 2 ubus objects and then in thread context I gave uloop_run, I used pthread to create the thread.
I am able to see this objects and methods in ubus -v list and I am able to call the methods using ubus cli.
Now I created other process proc2, which also has a ubus object and methods. I gave a uloop_run in that too in thread context after adding the ubus object.
proc1 will be launched 1st. I am able to see this objects and methods in ubus -v list and I am able to call the methods using ubus cli.
When I launch proc2, I am able to see the methods and object name in ubus -v list, but I am unable to call the methods of proc1 using ubus cli. I am seeing request timed out error, whereas I am able to call the methods of proc2 successfully.
Can anyone please help me with what is the issue here?
My requirement is to add ubus objects in 2 different processes hence I am doing a uloop_run in both the processes.

I wasn't able to fully follow your description but is it possible that you're performing ubus calls from within the ubus methods of your services, effectively nesting calls? If this is the case, you need to use the ubus_defer_request() / ubus_complete_deferred_request() API to perform the inner nested calls.

I have 2 processes where I have to add ubus objects.
Do I have to run uloop_run twice?

I am running them in both the processes.
The process in which I am running at last, i.e., most recent uloop_run is only responding to ubus calls.
The initial process is not responding