User Details
- User Since
- Oct 16 2018, 6:25 AM (316 w, 3 d)
Feb 2 2024
Feb 1 2024
Any one can have a review with this diff?
Dec 27 2023
Feb 22 2021
Feb 18 2021
I make a driver that compatable with Linux. From the application, it will not see it running on FreeBSD or Linux.
On linux, it will encounter same error without this signal sending. If I change error code, it will behave differently from linux.
I think others will also encounter similar issue , why not make a genric change that benifit all?
Feb 13 2021
@hselasky , expecting to see your patch, and I stand by to do any test.
@kib, sorry just realize that nfslock_write is a function in FreeBSD 12.0.
I don't have exact backtrace for it, this is an issue I debugs days before. Here is what I did. I implemented /dev/hidraw.
When run same app on Linux system, it has below strace. While there is signal SIGPIPE after write error.
Then I checked the code, and got that tdsignal(td, SIGPIPE) will be called from dofilewrite.
Here is the piece info from the whole trace file.
Feb 10 2021
@jhb, 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.
The goal of this change is to avoid unnecessary "signal SIGPIPE" sending in kernel.
@jhb , could you review this?
@hselasky , the set chan prepare operation need wait configure message callback API finished.
I don't have good method to do that, while usually xfer starts after set alt interface.
It's ok to submit this to mainstream, this change may impact others and can be improved.
Jan 8 2021
Nov 12 2020
It's a good fix.