aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/uipc_syscalls.c
diff options
context:
space:
mode:
authorBosko Milekic <bmilekic@FreeBSD.org>2000-12-21 21:44:31 +0000
committerBosko Milekic <bmilekic@FreeBSD.org>2000-12-21 21:44:31 +0000
commit2a0c503e7afc6498157c35173896688a147efb34 (patch)
treeb06b70c0a77fed3143ac7cd4a373e0881af4a5fd /sys/kern/uipc_syscalls.c
parentb3a120de36b969a34388149a816fd8b57317debe (diff)
downloadsrc-2a0c503e7afc6498157c35173896688a147efb34.tar.gz
src-2a0c503e7afc6498157c35173896688a147efb34.zip
* Rename M_WAIT mbuf subsystem flag to M_TRYWAIT.
This is because calls with M_WAIT (now M_TRYWAIT) may not wait forever when nothing is available for allocation, and may end up returning NULL. Hopefully we now communicate more of the right thing to developers and make it very clear that it's necessary to check whether calls with M_(TRY)WAIT also resulted in a failed allocation. M_TRYWAIT basically means "try harder, block if necessary, but don't necessarily wait forever." The time spent blocking is tunable with the kern.ipc.mbuf_wait sysctl. M_WAIT is now deprecated but still defined for the next little while. * Fix a typo in a comment in mbuf.h * Fix some code that was actually passing the mbuf subsystem's M_WAIT to malloc(). Made it pass M_WAITOK instead. If we were ever to redefine the value of the M_WAIT flag, this could have became a big problem.
Notes
Notes: svn path=/head/; revision=70254
Diffstat (limited to 'sys/kern/uipc_syscalls.c')
-rw-r--r--sys/kern/uipc_syscalls.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c
index d5b8ec5e2e20..812764fefe38 100644
--- a/sys/kern/uipc_syscalls.c
+++ b/sys/kern/uipc_syscalls.c
@@ -548,7 +548,7 @@ sendit(p, s, mp, flags)
if (mp->msg_flags == MSG_COMPAT) {
register struct cmsghdr *cm;
- M_PREPEND(control, sizeof(*cm), M_WAIT);
+ M_PREPEND(control, sizeof(*cm), M_TRYWAIT);
if (control == 0) {
error = ENOBUFS;
goto bad;
@@ -1331,7 +1331,7 @@ sockargs(mp, buf, buflen, type)
#endif
return (EINVAL);
}
- m = m_get(M_WAIT, type);
+ m = m_get(M_TRYWAIT, type);
if (m == NULL)
return (ENOBUFS);
m->m_len = buflen;
@@ -1702,7 +1702,7 @@ retry_lookup:
/*
* Get an mbuf header and set it up as having external storage.
*/
- MGETHDR(m, M_WAIT, MT_DATA);
+ MGETHDR(m, M_TRYWAIT, MT_DATA);
if (m == NULL) {
error = ENOBUFS;
sf_buf_free((void *)sf->kva, NULL);