I don't specifically know about user-space, but "<span class="gD">Jun Yuan"</span> wrote a patch for me, adding a function called `ecrt_domain_received` that tells you whether the domain has been received or not (in kernel-space).<br>
<br>I have tested this function with domains spanning into multiple packets and calling it while some of the packets have been received and others not, and it is safe. I just checked the latest development branch and unfortunately this has not been added to the repository (I wonder why).<br>
<br>If the developers of the master are interested, I could present the test we performed so that they could be sure the patch works and hopefully include it in the next release.<br><br><div class="gmail_quote">On Sun, Jul 1, 2012 at 12:00 PM, <span dir="ltr"><<a href="mailto:etherlab-users-request@etherlab.org" target="_blank">etherlab-users-request@etherlab.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
I was looking at the code and they map the datagram directly to user<br>
space and has a skb ring size of 2 frames. data cannot be available for<br>
a re-write until it is acked by the interrupt completion of the ethernet<br>
device.<br>
You need to query the skb->users counter and check when it is<br>
decremented back -- meaning when transmission complete takes place.<br>
<br>
I believe the curretn design might cause problem in heavy traffic or in<br>
preempt rt when the transmit complete threaded interrupt has a "too" low<br>
priority.<br>
<br>
On Thu, 2012-06-28 at 19:38 +0200, Johnathan Van Why wrote:<br>
> The software system we are setting up needs to be able to send an<br>
> EtherCAT frame, then wait until the network data is available for<br>
> processing to resume (rather than wait until the next cycle time). Is<br>
> there any way to do that with the EtherCAT Master? This is a userspace<br>
> application.<br>
><br>
> Thanks for any help,<br>
> Johnathan Van Why<br>
> _______________________________________________<br>
> etherlab-users mailing list<br>
> <a href="mailto:etherlab-users@etherlab.org">etherlab-users@etherlab.org</a><br>
> <a href="http://lists.etherlab.org/mailman/listinfo/etherlab-users" target="_blank">http://lists.etherlab.org/mailman/listinfo/etherlab-users</a><br>
<br></blockquote></div><br>