diff options
author | Jean byroot Boussier <[email protected]> | 2023-05-26 15:40:29 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2023-06-28 16:36:53 +0900 |
commit | f1313caec1ec465836a20862f97b89e0865f9054 (patch) | |
tree | 564b4c68c587362a58640d9db97f0a24ea83366d /ext/fiddle/closure.c | |
parent | 135d5fa36c29d98b999ab8128222d361a2e96779 (diff) |
[ruby/fiddle] Mark Closure, Function and Handle as write barrier
protected
(https://github.com/ruby/fiddle/pull/129)
They don't have a mark function, so they don't need any change.
https://github.com/ruby/fiddle/commit/9bbc732aef
Co-authored-by: Jean Boussier <[email protected]>
Diffstat (limited to 'ext/fiddle/closure.c')
-rw-r--r-- | ext/fiddle/closure.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ext/fiddle/closure.c b/ext/fiddle/closure.c index 892f522a62..3772dfda35 100644 --- a/ext/fiddle/closure.c +++ b/ext/fiddle/closure.c @@ -54,10 +54,13 @@ closure_memsize(const void * ptr) } const rb_data_type_t closure_data_type = { - "fiddle/closure", - {0, dealloc, closure_memsize,}, - 0, 0, - RUBY_TYPED_FREE_IMMEDIATELY, + .wrap_struct_name = "fiddle/closure", + .function = { + .dmark = 0, + .dfree = dealloc, + .dsize = closure_memsize + }, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED, }; struct callback_args { |