ext/gyro/child.c in polyphony-0.25 vs ext/gyro/child.c in polyphony-0.26
- old
+ new
@@ -87,10 +87,14 @@
child->active = 0;
ev_child_stop(EV_DEFAULT, ev_child);
if (child->fiber != Qnil) {
VALUE fiber = child->fiber;
- VALUE resume_value = INT2NUM(child->pid);
+ int exit_status = ev_child->rstatus >> 8; // weird, why should we do this?
+
+ VALUE resume_value = rb_ary_new_from_args(
+ 2, INT2NUM(ev_child->rpid), INT2NUM(exit_status)
+ );
child->fiber = Qnil;
Gyro_schedule_fiber(fiber, resume_value);
}
}
\ No newline at end of file