Welcome! Log In Create A New Profile

Advanced

[njs] Fixed njs_vmcode_restart().

Dmitry Volyntsev
April 25, 2019 12:52PM
details: https://hg.nginx.org/njs/rev/9ca942bc0792
branches:
changeset: 928:9ca942bc0792
user: hongzhidao <hongzhidao@gmail.com>
date: Thu Apr 25 15:56:44 2019 +0300
description:
Fixed njs_vmcode_restart().

diffstat:

njs/njs_vm.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)

diffs (30 lines):

diff -r 793161f2708c -r 9ca942bc0792 njs/njs_vm.c
--- a/njs/njs_vm.c Thu Apr 25 15:50:03 2019 +0300
+++ b/njs/njs_vm.c Thu Apr 25 15:56:44 2019 +0300
@@ -2852,17 +2852,21 @@ njs_vmcode_restart(njs_vm_t *vm, njs_val

ret = vmcode->code.operation(vm, value1, &frame->trap_values[1]);

+ if (nxt_slow_path(ret == NJS_ERROR)) {
+ return ret;
+ }
+
if (nxt_slow_path(ret == NJS_TRAP)) {
/* Trap handlers are not reentrant. */
njs_internal_error(vm, "trap inside restart instruction");
return NXT_ERROR;
}

- retval = njs_vmcode_operand(vm, vmcode->operand1);
-
- njs_release(vm, retval);
-
- *retval = vm->retval;
+ if (vmcode->code.retval) {
+ retval = njs_vmcode_operand(vm, vmcode->operand1);
+ njs_release(vm, retval);
+ *retval = vm->retval;
+ }

return ret;
}
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Fixed njs_vmcode_restart().

Dmitry Volyntsev 263 April 25, 2019 12:52PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 303
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready