summaryrefslogtreecommitdiff
path: root/ext/fiddle/closure.c
diff options
context:
space:
mode:
authorJean byroot Boussier <[email protected]>2023-05-26 15:40:29 +0200
committerHiroshi SHIBATA <[email protected]>2023-06-28 16:36:53 +0900
commitf1313caec1ec465836a20862f97b89e0865f9054 (patch)
tree564b4c68c587362a58640d9db97f0a24ea83366d /ext/fiddle/closure.c
parent135d5fa36c29d98b999ab8128222d361a2e96779 (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.c11
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 {