My app consist of the main-process and two threads, all running concurrently and making use of three fifo-queues:
The fifo-q\'s are Qmain, Q1 and Q2. Internally the
1 problem may occur due to this rule "The main-process must continue running all the time, must not be blocked on a 'read'". How did you implement it? what is the difference between 'get' and 'read'?
Problem seems to be in your implementation, not in the logic. And as you stated, you should not be in any dead lock because you are not acquiring another lock whether in a lock.