sendto failing "resource temporarily unavailable"

Well, I am not even sure if its failing, cause at the other end I have a select call and it wakes up and reads the data I sent fine.

Ok here is the issue, I have a UDP socket(non blocking) through which I push some data to another port. At the other end I have select loop, waiting for this data.

But time and again, my sendto keeps failing saying "Resource Temporarily Unavailable". I am not sure if it fails, cause I see the data at the other end and it turned out fine!!!

I am dazed and confused. Any clue?
Btw, the sendto() code is inside a thread continuosly running while the select()/recfrom is in my main program.

Could anyone help?

could anyone help please?!?

Could anyone please help?

Let me put it in a different way. What do I do with an EAGAIN returned from UDP sendto socket?

Is it due to system load(I really doubt that, cause its just stray messages once in a few seconds)?

And to top it all, the message actually gets sent!!

Please read our rules, bumping posts is NOT allowed. It is worth noting that it also makes it less likely that anyone will respond, not more likely.

How large are the buffers? Are the messages actually fully intact? Have you looked up what EAGAIN means and what the various causes are, if you have you will probably understand why I have asked the two previous questions.

Sorry Reborg. The intention to bump was two fold.
To show my desperation and the other to rephrase my question.
Pardon a rookie.
Buffer is sufficiently big enough. the sokcet is non blocking. What would cause an operation blocking? Even if it turns out to be blocking, why did the operation succeed and the message sent out?
This will be my last attempt to bump the thread and solicit answers. Thanks in advance.

I assume you mean it is returning -1 and setting errno to EAGAIN? not that it is retuning EAGAIN

The error in fact seems to indicate that your buffers are either not large enough, or that you are writing to them too quickly and the data cannot be cleared from them before you rewrite.

Yes Reborg.
By buffer do you mean the tempbuf that we pass to the sendto() or is it the memory buffers associated with the socket. For the latter one, how do I find whats assigned and how much is being used?