Skip to content

Commit 6b0b36b

Browse files
committed
Add a few concurrent free safe flags to ext typeddatas
1 parent ea58573 commit 6b0b36b

5 files changed

Lines changed: 5 additions & 5 deletions

File tree

ext/date/date_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3029,7 +3029,7 @@ static const rb_data_type_t d_lite_type = {
30293029
"Date",
30303030
{d_lite_gc_mark, RUBY_TYPED_DEFAULT_FREE, d_lite_memsize,},
30313031
0, 0,
3032-
RUBY_TYPED_FREE_IMMEDIATELY|RUBY_TYPED_WB_PROTECTED|RUBY_TYPED_FROZEN_SHAREABLE,
3032+
RUBY_TYPED_FREE_IMMEDIATELY|RUBY_TYPED_CONCURRENT_FREE_SAFE|RUBY_TYPED_WB_PROTECTED|RUBY_TYPED_FROZEN_SHAREABLE,
30333033
};
30343034

30353035
inline static VALUE

ext/digest/digest.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ static const rb_data_type_t digest_type = {
619619
"digest",
620620
{0, RUBY_TYPED_DEFAULT_FREE, 0,},
621621
0, 0,
622-
(RUBY_TYPED_FREE_IMMEDIATELY|RUBY_TYPED_WB_PROTECTED),
622+
(RUBY_TYPED_FREE_IMMEDIATELY|RUBY_TYPED_CONCURRENT_FREE_SAFE|RUBY_TYPED_WB_PROTECTED),
623623
};
624624

625625
static inline void

ext/monitor/monitor.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ static const rb_data_type_t monitor_data_type = {
3232
.dsize = NULL, // Fully embeded
3333
.dcompact = monitor_compact,
3434
},
35-
.flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE,
35+
.flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_CONCURRENT_FREE_SAFE | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE,
3636
};
3737

3838
static VALUE

ext/socket/raddrinfo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1295,7 +1295,7 @@ addrinfo_memsize(const void *ptr)
12951295
static const rb_data_type_t addrinfo_type = {
12961296
"socket/addrinfo",
12971297
{addrinfo_mark, addrinfo_free, addrinfo_memsize,},
1298-
0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_FROZEN_SHAREABLE | RUBY_TYPED_WB_PROTECTED,
1298+
0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_CONCURRENT_FREE_SAFE | RUBY_TYPED_FROZEN_SHAREABLE | RUBY_TYPED_WB_PROTECTED,
12991299
};
13001300

13011301
static VALUE

ext/stringio/stringio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ static const rb_data_type_t strio_data_type = {
118118
strio_free,
119119
strio_memsize,
120120
},
121-
0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED
121+
0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED // uses reference count, not concurrent free safe
122122
};
123123

124124
#define check_strio(self) ((struct StringIO*)rb_check_typeddata((self), &strio_data_type))

0 commit comments

Comments
 (0)