diff options
-rw-r--r-- | docs/changes.xml | 6 | ||||
-rw-r--r-- | src/ruby/nxt_ruby.c | 4 |
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); |