Created attachment 222347 [details] diff for this bug. current code in dofilewrite will send SIGPIPE once there is error of EPIPE, While SIGPIPE is just needed on socket and pipe operation. this is defined in POSIX standard, also with change it can be compatible with more Linux application. Here is one example: in function nfslock_write, it call nfslockdans, and it's possible that nfslockdans encounter EPIPE error. application's expectation is jut got write error with return error EPIPE, while freeBSD kernel send extra signal SIGPIPE, this will cause application killed by unexpected signal. https://reviews.freebsd.org/D28562