Hi David,
"David Schwartz" <(E-Mail Removed)> a écrit dans le message de
news:cp0gjv$kmi$(E-Mail Removed)...
>
> "Vincent" <(E-Mail Removed)> wrote in message
> news:LyEsd.1830$(E-Mail Removed)...
>
> > The problem is that, even when in blocking mode, if there are no more
> > space
> > available the "send" function returns -1 with error code ENOBUFS.
>
> What would you like it to do? It can't block, because doing that would
> require some place to store the information about which process is waiting
> on what resource, and it's out of places to store things.
This could be done in the network stack. And actually I think this is done
there as it works when I use the "eth0" device.
I suspect I have made a mistake in my driver that prevent the stack properly
doing its job.
> > I don't think the problem comes from the test application as this very
> > simple application works fine on "eth0" network device.
> >
> > I should have missed something.
> >
> > Do you have any idea?
>
> This is behavior you have to deal with. You may wish to 'usleep' and
try
> again.
Not possible as I will use up to 512 sockets at the same time with something
like 40000 messages per second.
In fact I do need blocking mode to use this sockets with "kqueue" API.
Regards.
Vincent
|