In the ddp_output() path, which can be called in a variety of threading

and locking contexts, use a non-sleeping allocation for mbufs.

MFC after:	1 week
This commit is contained in:
rwatson 2005-02-22 14:22:09 +00:00
parent 53f0cb84a4
commit 1a0fc144d0

View File

@ -57,7 +57,7 @@ ddp_output(struct mbuf *m, struct socket *so)
SOCK_UNLOCK(so);
#endif
M_PREPEND(m, sizeof(struct ddpehdr), M_TRYWAIT);
M_PREPEND(m, sizeof(struct ddpehdr), M_DONTWAIT);
if (m == NULL)
return (ENOBUFS);
@ -200,7 +200,7 @@ ddp_route(struct mbuf *m, struct route *ro)
* packets end up poorly aligned due to the three byte elap header.
*/
if (!(aa->aa_flags & AFA_PHASE2)) {
MGET(m0, M_TRYWAIT, MT_HEADER);
MGET(m0, M_DONTWAIT, MT_HEADER);
if (m0 == NULL) {
m_freem(m);
printf("ddp_route: no buffers\n");