My application has three processes. Process 1 has two threads. Thread A add an ubus object, and process 2 subscribes it. Thread B subscribe process 3.
Now there is a puzzling problem happening, thread A invoke ubus_add_object returned 0(which means success), but process 2 invokes ubus_lookup_id return -1(which means failure). Even if i restart process 2, ubus_lookup_id still return -1. But if i restart Process 1, the problem is not repetition.
This problem is not appears always, probability is about 5%. I undertand libubus is Thread-unsafe, so is this problem appears because of Thread_unsafe?
thanks