From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-3.8 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 2A9AC1F5AE for ; Tue, 25 May 2021 22:22:07 +0000 (UTC) From: Eric Wong To: raindrops-public@yhbt.net Subject: [PATCH] mark ListenStats in C ext for GC.compact Date: Tue, 25 May 2021 22:22:07 +0000 Message-Id: <20210525222207.2230-1-bofh@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: With GC.compact in Ruby 3.x, Ruby-defined constants need to be explicitly marked to prevent movement. Link: https://yhbt.net/kgio-public/CAAvYYt5Z5f2rMuXO5DMpR1-6uRvu_gXKDvqcyoZ+oNcLiTH39g@mail.gmail.com/T/ --- ext/raindrops/linux_inet_diag.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c index 60c80f1..cabd427 100644 --- a/ext/raindrops/linux_inet_diag.c +++ b/ext/raindrops/linux_inet_diag.c @@ -696,6 +696,7 @@ void Init_raindrops_linux_inet_diag(void) rb_define_singleton_method(cIDSock, "new", ids_s_new, 0); cListenStats = rb_const_get(cRaindrops, rb_intern("ListenStats")); + rb_gc_register_mark_object(cListenStats); /* pin */ rb_define_module_function(mLinux, "tcp_listener_stats", tcp_listener_stats, -1);