-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upstream: add missing thread_exit() #10314
Conversation
Codecov Report
@@ Coverage Diff @@
## master #10314 +/- ##
==========================================
- Coverage 79.67% 79.33% -0.34%
==========================================
Files 390 390
Lines 123336 123340 +4
==========================================
- Hits 98263 97856 -407
- Misses 25073 25484 +411
Continue to review full report at Codecov.
|
FYI I dealt with this by creating a wrapper for thread dispatch: |
Why did you make it __inline? on purpose or by mistake? |
Let's be consistent about this. Since the user space and Linux versions of |
The wrapper is no longer needed if you fix the client code. |
do_thread_create was already inline, putting the wrapper in the same place was accident / laziness I suppose |
@lundman if you can update this to also remove the |
Undo FreeBSD wrapper for thread_create() added to call thread_exit. Signed-off-by: Jorgen Lundman <lundman@lundman.net>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Undo FreeBSD wrapper for thread_create() added to call thread_exit. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Jorgen Lundman <lundman@lundman.net> Closes openzfs#10314
When a thread exits it is supposed to call thread_exit(). A few recent changes have missed a few calls to thread_exit(). I went through all thread_create() calls in the common code, but additional checks could be done in the module/os/$platform/ source files as well.
Motivation and Context
On some platforms, it is only semantically correct, but for example on macOS platform it is
required, both for freeing of memory, and for XNU thread termination.
Description
Adds missing thread_exit() calls and the end of a thread function.
How Has This Been Tested?
It compiles! Currently I am not at a stage where I can test each one, but hoping the CI tester will highlight any issues.
Types of changes
Checklist:
Signed-off-by
.