details: http://hg.nginx.org/njs/rev/cdb8d20935ee branches: changeset: 132:cdb8d20935ee user: Igor Sysoev <igor@sysoev.ru> date: Fri Jul 22 14:38:06 2016 +0300 description: Duplicate function names are disabled. diffstat: njs/njs_parser.c | 4 ++-- njs/njs_parser.h | 1 + njs/njs_variable.c | 31 +++++++++++++++++++++++++++++++ njs/njs_variable.hby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/f0c94dd2bdb3 branches: changeset: 131:f0c94dd2bdb3 user: Igor Sysoev <igor@sysoev.ru> date: Fri Jul 22 14:15:54 2016 +0300 description: Now a make command does not fail for obscure reason at the very start or after "make clean" command but it offers to run the ./configure command instead. This change is not compatible with BSD PMaby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/a3e7ebdf9fa7 branches: changeset: 122:a3e7ebdf9fa7 user: Igor Sysoev <igor@sysoev.ru> date: Fri Jul 15 15:50:13 2016 +0300 description: njs_vm_function() and njs_vm_external() functions name and behavior unification. The function can be used with both original compiled VM and its clones. diffstat: nginx/ngx_http_js_module.c | 8 ++++----by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/74246210aa9d branches: changeset: 121:74246210aa9d user: Igor Sysoev <igor@sysoev.ru> date: Thu Jul 14 19:24:51 2016 +0300 description: njs_vm_function() interface to get a function by name. diffstat: njs/njs_variable.c | 24 ++++++++++++++++++++++++ njs/njscript.h | 1 + 2 files changed, 25 insertions(+), 0 deletions(-) diffs (45by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/07d2be75a7db branches: changeset: 120:07d2be75a7db user: Igor Sysoev <igor@sysoev.ru> date: Wed Jul 13 13:56:12 2016 +0300 description: Syntax error messages are more verbose and have line number. diffstat: njs/njs_builtin.c | 2 + njs/njs_generator.c | 66 +++++++++++-- njs/njs_lexer.c | 23 ++++by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/5e7e498eb90d branches: changeset: 119:5e7e498eb90d user: Igor Sysoev <igor@sysoev.ru> date: Mon Jul 11 15:24:29 2016 +0300 description: Fixed building by modern GCC versions. diffstat: njs/njs_string.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diffs (30 lines): diff -r e4a0f80610b2 -r 5e7e498eb90d njs/njs_string.c --by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/e4a0f80610b2 branches: changeset: 118:e4a0f80610b2 user: Igor Sysoev <igor@sysoev.ru> date: Fri Jul 08 18:13:00 2016 +0300 description: Needless argument checkers for String.toLowerCase() and String.toUpperCase() have been removed. diffstat: njs/njs_string.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (20 lines): dby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/6888c62477a0 branches: changeset: 117:6888c62477a0 user: Igor Sysoev <igor@sysoev.ru> date: Fri Jul 08 18:07:57 2016 +0300 description: Now ASCII strings use UTF8 variant of PCRE code. diffstat: njs/njs_regexp.c | 5 ++++- njs/njs_string.c | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diffs (55 lines): diff -r 73dc069a08cby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/73dc069a08c0 branches: changeset: 116:73dc069a08c0 user: Igor Sysoev <igor@sysoev.ru> date: Thu Jul 07 20:49:57 2016 +0300 description: Byte string processing was fixed in String.split(), the issue has been found by Coverity Scan. diffstat: njs/njs_string.c | 69 ++++++++++++++++++++++++++++++++++++++--------- njs/test/njs_unit_tby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/ef2b708510b1 branches: changeset: 115:ef2b708510b1 user: Igor Sysoev <igor@sysoev.ru> date: Wed Jun 29 13:38:20 2016 +0300 description: Array.reverse() method. diffstat: njs/njs_array.c | 40 ++++++++++++++++++++++++++++++++++++++++ njs/test/njs_unit_test.c | 18 ++++++++++++++++++ 2 files changed, 58 insertions(+), 0 deletionsby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/41404eee5063 branches: changeset: 114:41404eee5063 user: Igor Sysoev <igor@sysoev.ru> date: Tue Jun 28 19:28:00 2016 +0300 description: String.split() method. diffstat: njs/njs_array.c | 62 +++++------------ njs/njs_array.h | 2 + njs/njs_string.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++ njs/by Igor Sysoev - Nginx Development
On 23 Jun 2016, at 13:58, Jorge L. <jlorgal@gmail.com> wrote: > I've continued with my attempt to integrate my routing logic as javascript code. > > Regarding my previous feedback, it is possible to iterate the keys of an object with "for ... in". However, you cannot use "var" keyword to assign the result of the loop. For example, the following code fails: >by Igor Sysoev - Nginx Mailing List - English
On 15 Jun 2016, at 02:37, Supersmile2009 <nginx-forum@forum.nginx.org> wrote: > Hi! > I'm running a Wordpress based website on my server, I've set up fastcgi > cache recently. Now I want to get rid of evil-ifs, that are used to detect > cache skipping cases, and replace them with map. > > I managed to convert all common ifs except this one, > > if ($query_string !=by Igor Sysoev - Nginx Mailing List - English
details: http://hg.nginx.org/njs/rev/1c96b24bcdd2 branches: changeset: 111:1c96b24bcdd2 user: Igor Sysoev <igor@sysoev.ru> date: Fri Apr 29 17:02:52 2016 +0300 description: Fix in String.indexOf() and String.lastIndexOf() functions. diffstat: njs/njs_string.c | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-) diffs (53 lines): dby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/169958fd3f70 branches: changeset: 110:169958fd3f70 user: Igor Sysoev <igor@sysoev.ru> date: Mon Apr 25 19:30:27 2016 +0300 description: parseFloat() function. diffstat: njs/njs_builtin.c | 2 ++ njs/njs_generator.c | 1 + njs/njs_lexer_keyword.c | 1 + njs/njs_number.c | 20 +++++++++++++++++++- njs/njs_number.by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/c72fd0d1fabc branches: changeset: 113:c72fd0d1fabc user: Igor Sysoev <igor@sysoev.ru> date: Wed Jun 01 15:31:34 2016 +0300 description: Using nxt_regex interface in nJSVM. diffstat: Makefile | 2 + njs/njs_disassembler.c | 1 - njs/njs_lexer_keyword.c | 1 - njs/njs_regexp.c | 238 ++++++++++++++++++++-by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/b8084a72d667 branches: changeset: 112:b8084a72d667 user: Igor Sysoev <igor@sysoev.ru> date: Wed Jun 01 15:30:50 2016 +0300 description: PCRE code is available via nxt_regex interface. diffstat: nxt/Makefile | 35 +++++-- nxt/nxt_pcre.c | 259 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ nxt/nxt_pcre.h | 34 +++++++ nby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/ffe9a5658450 branches: changeset: 109:ffe9a5658450 user: Igor Sysoev <igor@sysoev.ru> date: Mon Apr 25 17:28:34 2016 +0300 description: parseInt() function. diffstat: njs/njs_builtin.c | 3 + njs/njs_generator.c | 1 + njs/njs_lexer_keyword.c | 1 + njs/njs_number.c | 99 ++++++++++++++++++++++++++++++++++++++++by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/fd72dd7112c2 branches: changeset: 108:fd72dd7112c2 user: Igor Sysoev <igor@sysoev.ru> date: Thu Apr 21 18:23:16 2016 +0300 description: isFinite() function. diffstat: njs/njs_builtin.c | 2 ++ njs/njs_generator.c | 1 + njs/njs_lexer_keyword.c | 1 + njs/njs_number.c | 23 +++++++++++++++++++++++ njs/njs_numberby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/a61f70d8874a branches: changeset: 107:a61f70d8874a user: Igor Sysoev <igor@sysoev.ru> date: Thu Apr 21 18:23:12 2016 +0300 description: isNaN() function. diffstat: njs/njs_builtin.c | 2 ++ njs/njs_generator.c | 1 + njs/njs_lexer_keyword.c | 1 + njs/njs_number.c | 18 ++++++++++++++++++ njs/njs_number.hby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/a69b4eaebdcf branches: changeset: 106:a69b4eaebdcf user: Igor Sysoev <igor@sysoev.ru> date: Thu Apr 21 15:57:05 2016 +0300 description: Global toString() function. diffstat: njs/njs_builtin.c | 16 ++++++++++------ njs/njs_generator.c | 6 +----- njs/njs_lexer_keyword.c | 1 + njs/njs_parser.c | 1 + njs/njs_paby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/6fa680a54811 branches: changeset: 105:6fa680a54811 user: Igor Sysoev <igor@sysoev.ru> date: Wed Apr 20 18:30:31 2016 +0300 description: Reserverd words can be used as property names. diffstat: njs/njs_lexer.c | 4 ++++ njs/njs_parser.c | 17 ++++++++++++++++- njs/njs_parser.h | 2 ++ njs/njs_parser_eby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/3f2480c38f8e branches: changeset: 104:3f2480c38f8e user: Igor Sysoev <igor@sysoev.ru> date: Tue Apr 19 16:08:32 2016 +0300 description: eval() placeholder has been moved from the constructor table to the shared function table. diffstat: njs/njs_builtin.c | 90 ++++++++++++++++++++++++++++++++---------------- njs/njs_generator.cby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/f720a6378a2f branches: changeset: 103:f720a6378a2f user: Igor Sysoev <igor@sysoev.ru> date: Tue Apr 19 16:07:33 2016 +0300 description: njs_string_new(). diffstat: njs/njs_date.c | 30 +++--------------------------- njs/njs_number.c | 25 +++++-------------------- njs/njs_string.c | 51 +++++++++++++++++++++++++-----------------------by Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/23ff7c369101 branches: changeset: 102:23ff7c369101 user: Igor Sysoev <igor@sysoev.ru> date: Tue Apr 19 17:26:25 2016 +0300 description: Number.toString(radix). diffstat: njs/njs_number.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++- njs/test/njs_unit_test.c | 29 ++++++++++++++ 2 files changed, 121 insertions(+), 2 deletby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/e411e0cbd20d branches: changeset: 101:e411e0cbd20d user: Igor Sysoev <igor@sysoev.ru> date: Fri Apr 15 18:01:40 2016 +0300 description: String.toUpperCase(). diffstat: njs/njs_string.c | 59 ++ njs/test/njs_unit_test.c | 27 + nxt/Makefile | 1 + nxt/nxt_stub.h | 7 + nxt/nxtby Igor Sysoev - Nginx Development
details: http://hg.nginx.org/njs/rev/b7442865d9fa branches: changeset: 100:b7442865d9fa user: Igor Sysoev <igor@sysoev.ru> date: Fri Apr 15 18:01:19 2016 +0300 description: String.toLowerCase(). diffstat: njs/njs_string.c | 59 ++ njs/test/njs_unit_test.c | 9 + nxt/Makefile | 1 + nxt/nxt_djb_hash.c | 4 +- nxt/nxby Igor Sysoev - Nginx Development
On 05 May 2016, at 18:55, Anton Bessonov <exelib@gmail.com> wrote: > On 26.04.2016 22:19, Igor Sysoev wrote: >> On 26 Apr 2016, at 19:27, Anton Bessonov <exelib@gmail.com> wrote: >> >>> Спасибо большое, работает. И с демонизацией тоже. >>> >>> Но наблюдаю эффект, что еслиby Igor Sysoev - Nginx Mailing List - Russian
On 27 Apr 2016, at 19:32, 洪志道 <hongzhidao@gmail.com> wrote: > Get. > In production, there may be some possibility with load_module directive. > 1. add new module: load_module modules/some_module.so; [?] > 2. remove exist load_module directive, just comment out. [?] > 3. directive not changed but the so file changed. > And how to deal with? USR2/QUIT is onlinby Igor Sysoev - Nginx Development
On 27 Apr 2016, at 18:51, 洪志道 <hongzhidao@gmail.com> wrote: > Thanks for your reply. > > Is it the only way to solve the problem? This is a way to reload a module in production without service interruption. > I think it will be common that developers try to use dso instead of static module. Developers can simply stop and start nginx again. -- Igor Sysoev http://nginxby Igor Sysoev - Nginx Development