summaryrefslogtreecommitdiffstats
path: root/sys/sys/pipe.h
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2003-10-03 16:38:01 +0000
committermiod <miod@openbsd.org>2003-10-03 16:38:01 +0000
commit85c4dceb6e549c95811931416dd174375b25b833 (patch)
tree15552e54da7c8ac00626354bdeb237a308b815aa /sys/sys/pipe.h
parentcorrect hash for EXAMPLES, plus some typos; (diff)
downloadwireguard-openbsd-85c4dceb6e549c95811931416dd174375b25b833.tar.xz
wireguard-openbsd-85c4dceb6e549c95811931416dd174375b25b833.zip
Bring several fixes from FreeBSD to our current pipe implementation:
- when allocating or growing a pipe buffer is not possible, do not panic but report the error and handle it correctly. (1.73) - "The pipe_write() code was locking the pipe without busying it first in certain cases, and a close() by another process could potentially rip the pipe out from under the (blocked) locking operation." (from Al Viro, 1.81) - "Remove test in pipe_write() which causes write(2) to return EAGAIN on a non-blocking pipe in cases where select(2) returns the file descriptor as ready for write. This in turns causes libc_r, for one, to busy wait in such cases. Note: it is a quick performance fix, a more complex fix might be required in case this turns out to have unexpected side effects." (1.141)
Diffstat (limited to 'sys/sys/pipe.h')
-rw-r--r--sys/sys/pipe.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/sys/pipe.h b/sys/sys/pipe.h
index 0738720b9a0..4ed94c7333d 100644
--- a/sys/sys/pipe.h
+++ b/sys/sys/pipe.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pipe.h,v 1.10 2002/03/14 01:27:14 millert Exp $ */
+/* $OpenBSD: pipe.h,v 1.11 2003/10/03 16:38:03 miod Exp $ */
/*
* Copyright (c) 1996 John S. Dyson
@@ -53,7 +53,6 @@ struct pipebuf {
u_int out; /* out pointer */
u_int size; /* size of buffer */
caddr_t buffer; /* kva of buffer */
- struct vm_object *object; /* VM object containing buffer */
};
/*