* Interpret ENOBUFS errors for send(2) as "can retry later".
Slow devices (like ppp) with small tx_queue_len can reject
the sending of too many packets simultaneously. To handle this,
do_send() now returns a negate value in a case of ENOBUFS
and similar (instead of program exit). The send_probe method
clears the probe and returns immediately in such cases.
Then, if there is an amount of time to wait for something,
the failed probe will be attempted again after that time expired.
If nothing to wait more, the program is exited.
Fix released in 2.0.10-1 in intrepid.
Upstream changelog entry:
2008-04-17 Dmitry Butskoy <email address hidden> - 2.0.10
* Interpret ENOBUFS errors for send(2) as "can retry later".
Slow devices (like ppp) with small tx_queue_len can reject
the sending of too many packets simultaneously. To handle this,
do_send() now returns a negate value in a case of ENOBUFS
and similar (instead of program exit). The send_probe method
clears the probe and returns immediately in such cases.
Then, if there is an amount of time to wait for something,
the failed probe will be attempted again after that time expired.
If nothing to wait more, the program is exited.