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:
Robert Watson 2005-02-22 14:22:09 +00:00
parent 4d96314f88
commit 311ee468b2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=142229

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");