summaryrefslogtreecommitdiffstats
path: root/generator/generator_ruby.ml
diff options
context:
space:
mode:
Diffstat (limited to 'generator/generator_ruby.ml')
-rw-r--r--generator/generator_ruby.ml9
1 files changed, 7 insertions, 2 deletions
diff --git a/generator/generator_ruby.ml b/generator/generator_ruby.ml
index 742a0cc4..bf133608 100644
--- a/generator/generator_ruby.ml
+++ b/generator/generator_ruby.ml
@@ -276,9 +276,14 @@ ruby_event_callback_wrapper_wrapper (VALUE argvv)
/* Check the Ruby callback still exists. For reasons which are not
* fully understood, even though we registered this as a global root,
* it is still possible for the callback to go away (fn value remains
- * but its type changes from T_DATA to T_NONE). (RHBZ#733297)
+ * but its type changes from T_DATA to T_NONE or T_ZOMBIE).
+ * (RHBZ#733297, RHBZ#843188)
*/
- if (rb_type (fn) != T_NONE) {
+ if (rb_type (fn) != T_NONE
+#ifdef T_ZOMBIE
+ && rb_type (fn) != T_ZOMBIE
+#endif
+ ) {
eventv = argv[1];
event_handlev = argv[2];
bufv = argv[3];