diff options
author | miod <miod@openbsd.org> | 2003-10-03 16:38:01 +0000 |
---|---|---|
committer | miod <miod@openbsd.org> | 2003-10-03 16:38:01 +0000 |
commit | 85c4dceb6e549c95811931416dd174375b25b833 (patch) | |
tree | 15552e54da7c8ac00626354bdeb237a308b815aa /sys/sys/pipe.h | |
parent | correct hash for EXAMPLES, plus some typos; (diff) | |
download | wireguard-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.h | 3 |
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 */ }; /* |