summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--docs/changes.xml6
-rw-r--r--src/ruby/nxt_ruby.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/docs/changes.xml b/docs/changes.xml
index 158f98e9..3ff434aa 100644
--- a/docs/changes.xml
+++ b/docs/changes.xml
@@ -81,6 +81,12 @@ force SCRIPT_NAME in Ruby to always be an empty string.
</para>
</change>
+<change type="bugfix">
+<para>
+the ruby application process could crash if it's interrupted by SIGTERM signal.
+</para>
+</change>
+
</changes>
diff --git a/src/ruby/nxt_ruby.c b/src/ruby/nxt_ruby.c
index 4df77499..07d02dce 100644
--- a/src/ruby/nxt_ruby.c
+++ b/src/ruby/nxt_ruby.c
@@ -377,8 +377,8 @@ nxt_ruby_start(nxt_task_t *task, nxt_process_data_t *data)
}
}
- rc = (intptr_t) rb_thread_call_without_gvl(nxt_ruby_unit_run, unit_ctx,
- nxt_ruby_ubf, unit_ctx);
+ rc = (intptr_t) rb_thread_call_without_gvl2(nxt_ruby_unit_run, unit_ctx,
+ nxt_ruby_ubf, unit_ctx);
if (nxt_ruby_hook_procs != Qnil) {
rb_protect(nxt_ruby_hook_call, nxt_rb_on_thread_shutdown, &state);