[okl4-developer] A doubt about blocking receive

Matthew Warton mwarton at ok-labs.com
Thu Aug 30 17:38:40 EST 2007


Hi Dhiraj,

You are correct in this case, t1 will remain blocked waiting for t2,  
even if t2 is deleted.  However, If t1 was blocked sending to t2, it  
would be aborted and returned failure.  The reason for the difference  
is that the kernel does not internally track waiters on a specific  
thread.

If you really need t1 to be woken up in this case (ie it is not a  
bug, but a normal operation of the system that this should happen),  
you should request a timeout from the timer server before doing the  
call that is expected to fail, and ensure that you use an IPC where  
you may receive from multiple threads.

Can you give us more details on the particular problem this is causing?

Thanks,
Matthew Warton

On 30/08/2007, at 1:25 PM, Kalamkar, Dhiraj D wrote:

> Hi,
>
>
>
> Suppose a thread t1 is blocked on receive IPC operation and waiting  
> message from thread t2. Meanwhile, t2 exits without doing send IPC  
> to t1 or terminated by pager because of invalid page fault before  
> doing send operation. Does it abort t1’s IPC receive and returns  
> failure or t1 remains blocked?
>
>
>
> Thanks,
>
> Dhiraj
>
> _______________________________________________
> Developer mailing list
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer




More information about the Developer mailing list