Valentin Bartenev
80deee3903
Controller: more HTTP headers and detailed JSON parsing errors.
2017-08-11 19:54:40 +03:00
Valentin Bartenev
8bb88aaf51
Fixed parsing of JSON encoded UTF-16 surrogate pairs.
2017-08-11 18:13:57 +03:00
Max Romanov
39a6a4c973
Request body read state implemented.
...
With specific timeout and buffer size settings.
2017-08-11 18:04:04 +03:00
Max Romanov
e1e808bd94
Sync flag introduced for port type.
...
To avoid transfer mmap_msg before new mmap message.
2017-08-11 18:04:04 +03:00
Max Romanov
162afe4719
RPC: peer pid special value -1 may be used if pid is unknown.
2017-08-11 18:04:04 +03:00
Max Romanov
1b354421c3
Tiny mmap buffers completion fixed.
...
Small mmap buffers transferred in 'plain' mode and should be freed by sender.
2017-08-11 18:04:04 +03:00
Valentin Bartenev
70d73d633b
Fixed JSON escape sequence parsing.
2017-08-08 22:20:01 +03:00
Valentin Bartenev
617da0d023
Fixed building without debug after c1ae75b4e17c and 6281674ecf4f.
2017-08-04 18:00:40 +03:00
Igor Sysoev
fc6c4fdeb6
Fixed building by GCC.
2017-08-04 07:48:50 +03:00
Igor Sysoev
a94178a05e
Listening socket creation and binding operations are passed
...
to the master process.
2017-08-02 21:11:20 +03:00
Max Romanov
b150f07e80
Added basic port error handler.
2017-08-02 13:36:29 +03:00
Max Romanov
f23f985899
Runtime processes protected with mutex.
2017-08-02 13:22:07 +03:00
Max Romanov
021a84019f
Freed mmap memory filled with 0xA5.
2017-08-02 13:22:03 +03:00
Max Romanov
9367dd2bf8
Implicit port read buffer completion.
...
To disable implicit completion, handler should reset msg->buf field.
2017-08-02 13:21:32 +03:00
Max Romanov
bcf99f87e2
Using port rpc in controller->router configuration update.
2017-08-02 13:20:57 +03:00
Max Romanov
82c0304ab8
Using port rpc in router->master start worker request.
2017-08-02 13:20:53 +03:00
Max Romanov
f2e9afdf42
Port RPC interface introduced.
...
Usage:
1. Register handlers in incoming port with nxt_port_rpc_register_handler().
2. Use return value as a stream identifier for next nxt_port_socket_write().
2017-08-02 13:14:31 +03:00
Max Romanov
3812ffd336
Added bit flags to type parameter of nxt_port_socket_write().
...
NXT_PORT_MSG_LAST - mark message as last;
NXT_PORT_MSG_CLOSE_FD - close fd right after send;
Type constants altered to include last flag for single buffer messages.
Last sign is critical for coming port RPC layer. Handlers unregistered on last
message. Create sync buffer is not convenient, extra parameter is better.
2017-08-02 13:10:48 +03:00
Max Romanov
83d7ab38ac
Using old-style packed attribute specification for compatibility.
2017-08-02 13:01:54 +03:00
Max Romanov
057c2526ee
Assign current request id to prevent port memory release.
2017-07-25 16:18:31 +03:00
Max Romanov
5a756647ff
Using engine task to avoid racing condition.
2017-07-25 16:18:31 +03:00
Max Romanov
316c77a9de
Fixed building on Solaris by Sun C.
2017-07-25 16:18:31 +03:00
Valentin Bartenev
578cd547c0
Fixed building without debug.
2017-07-21 15:20:45 +03:00
Igor Sysoev
68d35e9157
Fixed a bug introduced in the changeset 9585902ff351.
2017-07-19 23:11:55 +03:00
Igor Sysoev
a782faa499
Listening sockets remaining from the previous configuration
...
were not updated with new parameters.
2017-07-19 22:36:03 +03:00
Igor Sysoev
ba6c8e51be
The master process title has been renamed to "main" process.
...
The command line is enclosed in brackets.
2017-07-19 15:22:40 +03:00
Igor Sysoev
0d7af2adf7
Removed "process" word from process title.
2017-07-19 10:49:46 +03:00
Igor Sysoev
21de5c1d18
Added application name in process title.
2017-07-18 22:27:13 +03:00
Valentin Bartenev
ee5b018cc2
Configuration: improved declaration of short strings.
2017-07-18 18:00:19 +03:00
Valentin Bartenev
a6c4ef7a10
Configuration: reduced memory consumption of long strings.
2017-07-18 18:00:19 +03:00
Valentin Bartenev
f16510585f
Configuration: reduced memory consumption.
2017-07-18 18:00:15 +03:00
Igor Sysoev
9183ea3f71
Fixed building by Clang.
2017-07-18 18:04:17 +03:00
Valentin Bartenev
9d707800b0
More accurate "packed" attribute declaration.
2017-07-18 17:13:40 +03:00
Valentin Bartenev
beb4de21bb
Removed NXT_PACKED from port structures.
...
That was added only to silence Valgrind, but it results in
unaligned access (which breaks Unit on ARM architecture).
2017-07-18 17:12:46 +03:00
Max Romanov
6b6fefa497
Request-app link introduced to prevent mp destroy for penging requests.
...
nxt_req_conn_link_t still used for lookup connection by request id.
New nxt_req_app_link_t (ra) allocated from conn->mem_pool using mp_retain().
ra stored in app->requests if there is no free worker to process request.
2017-07-18 00:21:28 +03:00
Max Romanov
31e5992f88
Using correct task for engine post.
2017-07-18 00:21:18 +03:00
Max Romanov
8ad2c3fd3a
Work queue thread assertions. Reset thread after fork.
2017-07-18 00:21:17 +03:00
Max Romanov
803855138c
Mem pool cleanup introduced.
...
Used for connection mem pool cleanup, which can be used by buffers.
Used for port mem pool to safely destroy linked process.
2017-07-18 00:21:16 +03:00
Max Romanov
eb675f2d78
Port allocation and destroy changed. Worker process stop introduced.
2017-07-18 00:21:14 +03:00
Max Romanov
47b359388c
Python: typo fixed in string processing shortcut.
2017-07-18 00:21:13 +03:00
Igor Sysoev
dbe6862395
Fixed building by Clang.
2017-07-16 19:56:59 +03:00
Igor Sysoev
6fc7b70646
Router configuration retention count fixed.
2017-07-16 19:56:09 +03:00
Igor Sysoev
6044e6f44f
Router: joint must be added to engine's joint list in the
...
engine thread.
2017-07-16 19:55:56 +03:00
Igor Sysoev
e134efcb9c
Thread pools: various fixes.
2017-07-14 20:34:43 +03:00
Igor Sysoev
b3464d563e
Router: joint must be checked before memory pool destruction.
2017-07-14 20:34:38 +03:00
Igor Sysoev
b5d0920491
Router: listening socket configuration retention count fixed.
2017-07-14 20:34:33 +03:00
Igor Sysoev
3ed35d725a
Router: using joint job queues instead of arrays to pass
...
listening socket handlers to worker engines.
2017-07-14 17:17:15 +03:00
Igor Sysoev
668aabac3c
Router: using joint jobs to pass listening socket handlers to
...
worker engines.
2017-07-14 17:17:15 +03:00
Valentin Bartenev
d669045b75
Fixed the previous commit.
2017-07-14 17:03:01 +03:00
Valentin Bartenev
a937047cb8
Null-terminated user and group.
2017-07-14 16:08:21 +03:00