diff options
author | Jean Boussier <byroot@ruby-lang.org> | 2023-02-06 12:30:50 +0100 |
---|---|---|
committer | Jean Boussier <jean.boussier@gmail.com> | 2023-02-06 19:35:38 +0100 |
commit | fa49651e05a06512e18ccb2f54a7198c9ff579de (patch) | |
tree | 76f9cd0a4fc774ea236d33ec4d8b396b0b85da37 /internal/thread.h | |
parent | 28da9909849dc02abe74de8170fe4036534361ba (diff) |
Only emit circular dependency warning for owned thread shields
[Bug #19415]
If multiple threads attemps to load the same file concurrently
it's not a circular dependency issue.
So we check that the existing ThreadShield is owner by the current
fiber before warning about circular dependencies.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7252
Diffstat (limited to 'internal/thread.h')
-rw-r--r-- | internal/thread.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/internal/thread.h b/internal/thread.h index 6394f88d34..c3e54de683 100644 --- a/internal/thread.h +++ b/internal/thread.h @@ -29,6 +29,7 @@ VALUE rb_get_coverages(void); int rb_get_coverage_mode(void); VALUE rb_default_coverage(int); VALUE rb_thread_shield_new(void); +bool rb_thread_shield_owned(VALUE self); VALUE rb_thread_shield_wait(VALUE self); VALUE rb_thread_shield_release(VALUE self); VALUE rb_thread_shield_destroy(VALUE self); |