diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-11-27 21:36:12 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-11-27 21:38:08 +0900 |
commit | 039ba387aa3c94600c60bbc2d7a9cf448f843ca5 (patch) | |
tree | 9424b858ce86c1c8769982cd36de25254ba820cf | |
parent | 5d8fe1267d2d4e60943e7b41f6dad990a53e077b (diff) |
Use opaque struct pointer than void
-rw-r--r-- | include/ruby/random.h | 5 | ||||
-rw-r--r-- | ractor.c | 6 | ||||
-rw-r--r-- | ractor_core.h | 4 | ||||
-rw-r--r-- | random.c | 4 |
4 files changed, 11 insertions, 8 deletions
diff --git a/include/ruby/random.h b/include/ruby/random.h index 001f67df86..56b2dd413f 100644 --- a/include/ruby/random.h +++ b/include/ruby/random.h @@ -14,9 +14,10 @@ RBIMPL_SYMBOL_EXPORT_BEGIN() -typedef struct { +struct rb_random_struct { VALUE seed; -} rb_random_t; +}; +typedef struct rb_random_struct rb_random_t; typedef void rb_random_init_func(rb_random_t *, const uint32_t *, size_t); typedef unsigned int rb_random_get_int32_func(rb_random_t *); @@ -1773,11 +1773,11 @@ rb_ractor_stderr_set(VALUE err) } } -void * -rb_ractor_default_rand(void *ptr) +struct rb_random_struct * +rb_ractor_default_rand(struct rb_random_struct *ptr) { if (rb_ractor_main_p()) { - static void *default_rnd; + static struct rb_random_struct *default_rnd; if (UNLIKELY(ptr != NULL)) { rb_ractor_t *cr = GET_RACTOR(); cr->default_rand = default_rnd = ptr; diff --git a/ractor_core.h b/ractor_core.h index dd662141a0..6e9a63dc28 100644 --- a/ractor_core.h +++ b/ractor_core.h @@ -36,6 +36,8 @@ struct rb_ractor_waiting_list { rb_ractor_t **ractors; }; +struct rb_random_struct; // c.f. ruby/random.h + struct rb_ractor_struct { // ractor lock rb_nativethread_lock_t lock; @@ -127,7 +129,7 @@ struct rb_ractor_struct { VALUE verbose; VALUE debug; - void *default_rand; // used in random.c + struct rb_random_struct *default_rand; // used in random.c // gc.c rb_objspace_reachable_objects_from struct gc_mark_func_data_struct { @@ -149,11 +149,11 @@ rand_start(rb_random_mt_t *r) static rb_random_mt_t * default_rand(void) { - void *rb_ractor_default_rand(void *); // ractor.c + rb_random_t *rb_ractor_default_rand(rb_random_t *); // ractor.c rb_random_mt_t *rnd = (rb_random_mt_t *)rb_ractor_default_rand(NULL); if (rnd == NULL) { rnd = ZALLOC(rb_random_mt_t); - rb_ractor_default_rand(rnd); + rb_ractor_default_rand(&rnd->base); } return rnd; } |