[EMAIL PROTECTED] wrote on 18.11.2005 09:57:15:

> >Exactly, I have just found out that and posted actually a long mail just
> >before getting this mail from you :o)
> >
> >Yep, and before getting blocked, read() increments the counter as
> well, that's
> >why we don't have a xnpipe_realease() called as a result of close().
> >So everything is correct.
> >  
> >
> Fine. Though then my problem is not related to xenomai, any suggestions
> on how to force read() to return? (without writing anything to the other
> end of the pipe)

ummm... send it a certain signal with pthread_kill() (and setting up something like thread::flag == END_OF_WORK_BABY at the same time but only in case when there can be other cases of getting a signal by this thread)? In such a case, read() should return -EINTR.
Note, a signal handler must be installed without a SA_RESTART flag so that the read() will not be restarted after signal processing.



Xenomai-core mailing list

Reply via email to