A Divendres, 20 de desembre de 2013, Philippe Gerum va escriure:
> On 12/19/2013 12:37 AM, Leopold Palomo-Avellaneda wrote:
> > Hi,
> >
> > I'm developing an application that need (as always) interchange data 
between a realtime part and non-realtime.
> >
> > Looking on the documentation and surfing on the web I have found 
interesting for my app the examples of xddp protocol. Some time ago, there was 
an interesting mail about it [1].
> >
> > There, the original author ask one thing that I would like to be sure that 
I understood. On the examples, the realtime thread uses the function 
recvfrom() to receive data from the non-rt thread.
> >
> > In the mail, the original author asked about make recvfrom
> > call non-blocking in xddp context, and *Philippe Gerum* answered that
> > MSG_DONTWAIT should be set in flags.
> >
> > So, my question is that using that flag, some code like this:
> >
> >
> > /* Read back packets echoed by the regular thread */
> > ret = recvfrom(s, buf, sizeof(buf), 0, NULL, 0);
> > if(ret <= 0)
> >      fail("recvfrom");
> >
> > recvfrom will not be blocked, but it will return 0?
> >
> > May I understood that if there's data on the sockect recvfrom will
> > return something and if no, it would not be blocked and return something?
> >
> 
> Standard behavior when no data present: immediate return with ret = -1, 
> errno = EWOULDBLOCK/EAGAIN.

Ok, 

if you are writing some data (some bytes) in the socket, can I trust that 
recvfrom will return -1 until ALL data is transferred?

Regards,

Leopold







-- 
--
Linux User 152692
Catalonia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: 
<http://www.xenomai.org/pipermail/xenomai/attachments/20131220/e7764858/attachment.sig>
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to