teptris 0.3.6.2-s390x-linux → 0.3.6.3-s390x-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7714ffb960a86733d898e932b30917af0e2e0e51c0c9d58cf0652fc083848a7
4
- data.tar.gz: 32c660f483f7378dfce7f4d65ba3736bb648e1daca90b7639bf33a8da6d117ac
3
+ metadata.gz: 9f2458a4f5557dfccfb8e220ef764d3550d48b839e7e67b52a7e2f8c02614235
4
+ data.tar.gz: eaeadaceb974279c0ffda4d85ef4ff7fcdb1d13a5548344581e6d1c7ea59e4a7
5
5
  SHA512:
6
- metadata.gz: 134ec3a18604e62ce34458ccd14c697088b9d40705a75bc7ca7db65c84592f65b89c6b3de2653465352afeb84e608f40bc661a02acd9fdd1939ac6f42df25c43
7
- data.tar.gz: 78d689a0a221722ebd9142a3eda1ba7d86fb8294eacd723ce6984f0eff6a18e1182275fe973e6cb3f79fc162687279c28f2f501319c434951d195cf2c36f81c4
6
+ metadata.gz: 33185e5ef1a11fbf140adacf7c6e80f9941c9472f695b4ec6f1705082e96f49fc0096a548527b01def8ad401188725f510c5f13b03b4ca68b0a1c945e1e9b7e4
7
+ data.tar.gz: 4b059f8eaed5adefb93af63d2640b844e4e76cafc35df97a4bfa9459dafe22df5fe1f85f320b601f5e5fd80e33cd6cb0f6d40e3cb37430694134603f5de256ae
@@ -1345,4 +1345,17 @@ void Init_teptris_ext(void) {
1345
1345
  id_to_s = rb_intern("to_s");
1346
1346
  id_to_i = rb_intern("to_i");
1347
1347
  id_nsec = rb_intern("nsec");
1348
+ /* Compaction safety: class objects stay reachable through their
1349
+ * constants (never swept), but GC.compact MOVES them — an
1350
+ * unregistered static slot then holds a stale RVALUE and the next
1351
+ * rb_raise/rb_funcall through it faults (the windows ruby-4.0
1352
+ * segfault, teptris-ruby#161: the suite's GC.compact spec moved
1353
+ * Teptris::Error out from under these slots). rb_gc_register_address
1354
+ * roots the SLOT, so compaction updates what it points at. */
1355
+ rb_gc_register_address(&eError);
1356
+ rb_gc_register_address(&eParseError);
1357
+ rb_gc_register_address(&cDate);
1358
+ rb_gc_register_address(&cDoc);
1359
+ rb_gc_register_address(&cLazyOwner);
1360
+ rb_gc_register_address(&cLazyValue);
1348
1361
  }
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Teptris
4
- VERSION = "0.3.6.2"
4
+ VERSION = "0.3.6.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teptris
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6.2
4
+ version: 0.3.6.3
5
5
  platform: s390x-linux
6
6
  authors:
7
7
  - teptris contributors