summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_pipe.c
AgeCommit message (Expand)AuthorFilesLines
2020-06-19backout pipe change, it crashes some archderaadt1-53/+51
2020-06-17Instead of performing three distinct allocations per created pipe,anton1-51/+53
2020-06-15Set __EV_HUP when the conditions matching poll(2)'s POLLUP are found.mpi1-1/+5
2020-04-07Abstract the head of knote lists. This allows extending the lists,visa1-5/+5
2020-02-20Replace field f_isfd with field f_flags in struct filterops to allowvisa1-3/+3
2020-02-16Unconditionally acquiring a write lock in pipe_ioctl() is quiteanton1-5/+5
2020-02-14Push the KERNEL_LOCK() insidge pgsigio() and selwakeup().mpi1-8/+5
2020-02-01Back out previous. Nothing wrong with the diff per se but I should haveanton1-3/+6
2020-02-01Grab the kernel lock in pgsigio() as it's strictly needed whileanton1-6/+3
2020-01-12condense commentanton1-5/+2
2020-01-12Get rid of redundant parenthesis.anton1-11/+11
2020-01-09Replace the global pipe_lock with a more fine-grained lock per pipeanton1-60/+83
2020-01-08Unify handling of ioctls FIOSETOWN/SIOCSPGRP/TIOCSPGRP andvisa1-8/+6
2020-01-05Constify instances of struct fileops.visa1-2/+2
2020-01-04Eliminate some minor differences between pipe_read() and pipe_write():anton1-6/+4
2020-01-03Rename the pipe I/O lock routines for improved clarity. This is just aanton1-18/+18
2019-12-31Use C99 designated initializers with struct filterops. In addition,visa1-5/+14
2019-12-27Remove the kernel lock in pipe read and write routines since everythinganton1-12/+7
2019-12-25Condense a few multi line comments into single line ones. While hereanton1-40/+13
2019-12-25Protect remaining fields of `struct pipe' using the pipe_lock. In orderanton1-33/+53
2019-12-19Start protecting the pipe_peer member of `struct pipe' using theanton1-26/+79
2019-11-29add missing parens around return expression and zap empty lineanton1-3/+2
2019-11-29Start protecting the pipe_busy field of struct pipe using a globalanton1-24/+54
2019-11-19When waiting on pipe I/O, simplify the unlock/relock logic usinganton1-20/+36
2019-11-11Extended the scope of the pipelock() in pipe_write() making the lockinganton1-46/+29
2019-11-10Invert a conditional in pipe_write() for reduced indent and inanton1-63/+65
2019-11-09Replace the hand-rolled pipe lock with a rwlock. A necessary first stepanton1-15/+5
2019-07-16move the whole `struct pipe' allocation and initialization inside pipe_create()semarie1-48/+52
2019-07-15revisit pipe initialization and buffer managementsemarie1-34/+41
2019-07-15Do not relock fdp in fdrelease(). This prevents unnecessary lockingvisa1-7/+10
2019-07-14rename PIPE_WANT to PIPE_WANTD.semarie1-9/+9
2019-07-13pipe_write() do opportunistic buffer resizing, when the buffer is empty.semarie1-2/+3
2019-07-09backout the unlock of pipe(2) and pipe2(2)semarie1-13/+4
2019-07-09unlock pipe(2) and pipe2(2) syscallssemarie1-4/+13
2019-06-22push the KERNEL_LOCK deeper on read(2) and write(2)semarie1-4/+13
2018-11-13Fix fcntl(fd, F_GETOWN) with pipes. As a regressionvisa1-2/+2
2018-11-12Utilize sigio with pipes. This makes fcntl(fd, F_SETOWN, arg) correctlyvisa1-8/+8
2018-08-20Reorder checks in the read/write(2) family of syscalls to prepare makingmpi1-5/+5
2018-08-15Grab the KERNEL_LOCK() in MP-unsafe fo_close routines. This preventsvisa1-1/+3
2018-08-13Make it possible to run pipe(2) and pipe2(2) mostly w/o KERNEL_LOCK():mpi1-16/+23
2018-07-10Move socket & pipe specific logic in their ioctl handler.mpi1-1/+7
2018-06-18Put file descriptors on shared data structures when they are completelympi1-5/+8
2018-06-05Revert introduction of fdinsert(), a sanitify check triggers whenmpi1-8/+5
2018-06-02Put file descriptors on shared data structures when they are completelympi1-5/+8
2018-04-10Convert 'struct fileops' definitions to C99.mpi1-3/+8
2018-01-02Stop assuming <sys/file.h> will pull in fcntl.h when _KERNEL is defined.guenther1-1/+2
2017-02-11Add a flags argument to falloc() that lets it optionally set theguenther1-9/+6
2016-10-08Add ktracing of the fds returned by pipe() and socketpair()guenther1-1/+8
2016-09-15all pools have their ipl set via pool_setipl, so fold it into pool_init.dlg1-4/+3
2016-08-30pool_setipldlg1-1/+2