Embedded Systems.
did not release the lock , hence other threads B and C were waiting continuously for the resource to be released. solution- use thread apply all bt in gdb to check which threads are waiting for which semaphore to be released. We could also check if logs of certain threads are not getting printed