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 232231F5AE for ; Mon, 24 May 2021 22:02:08 +0000 (UTC) From: Eric Wong To: clogger-public@yhbt.net Subject: [PATCH] mark Rack::HeaderHash for GC.compact Date: Mon, 24 May 2021 22:02:08 +0000 Message-Id: <20210524220208.27833-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/clogger_ext/clogger.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/clogger_ext/clogger.c b/ext/clogger_ext/clogger.c index a3de120..079817c 100644 --- a/ext/clogger_ext/clogger.c +++ b/ext/clogger_ext/clogger.c @@ -1104,6 +1104,7 @@ void Init_clogger_ext(void) tmp = rb_const_get(rb_cObject, rb_intern("Rack")); tmp = rb_const_get(tmp, rb_intern("Utils")); cHeaderHash = rb_const_get(tmp, rb_intern("HeaderHash")); + rb_ary_push(mark_ary, cHeaderHash); rb_obj_freeze(mark_ary); }