Valentin Bartenev
1a5ec7fd08
Improved reconfiguration requests serialization.
...
Previously, only applying of updated configuration was serialized,
while the changes themselves could be done in parallel on the same
configuration. That resulted in inconsistent behaviour.
2017-08-28 10:20:40 +03:00
Valentin Bartenev
3ab49d14c0
Fixed nxt_job_file_read_data().
...
Obviously it should read data into the free region of buffer.
The "free" pointer is respectively shifted in the code below.
2017-08-28 10:20:40 +03:00
Igor Sysoev
28efb65ac4
Added configuration summary.
2017-08-26 13:37:44 +03:00
Igor Sysoev
93f7104a65
Added configure and command line option --help.
2017-08-26 13:37:44 +03:00
Igor Sysoev
0d65c896cf
Added configure and command line option --control.
2017-08-26 13:37:44 +03:00
Igor Sysoev
7f5b57bfb9
Added configure and command line option --modules.
2017-08-26 13:37:44 +03:00
Igor Sysoev
9aaa7d8c20
Added configure option --user=USER and --group=GROUP.
2017-08-26 13:37:44 +03:00
Igor Sysoev
e64494ba2c
Added configure option --pid=FILE.
...
A pid file name can be relative.
The default pid file name is "nginext.pid".
2017-08-26 13:37:44 +03:00
Igor Sysoev
d3a6d7805f
Added configure options --prefix=PATH and --log=FILE.
...
A prefix is prepended to all relative names at configure stage.
There is no prefix by default.
A log file name can be relative.
The default log file name is "nginext.log".
2017-08-26 13:37:44 +03:00
Igor Sysoev
897b860e83
Introduced nxt_socket_defer_accept().
2017-08-26 13:37:39 +03:00
Igor Sysoev
1a6036d022
Removed unused function.
2017-08-26 13:37:24 +03:00
Sergey Kandaurov
5118a0a89d
Fixed typedef nxt_port_mmap_msg_t redefinition after 1b394e999c7c.
...
Redefinition of typedef is a C11 feature. On older compilers that
default to C99, such as clang 3.4.1 supplied with FreeBSD 10, this
caused -Wtypedef-redefinition warnings.
2017-08-25 17:11:29 +03:00
Valentin Bartenev
2caa5cb845
Fixed building by GCC after 924c70e5fd1f.
2017-08-24 19:51:13 +03:00
Igor Sysoev
f71e404151
Renamed configure option --no-unix-domain to --no-unix-sockets.
2017-08-24 18:38:34 +03:00
Igor Sysoev
d7105ff300
Building IPv6 by default.
2017-08-24 18:33:13 +03:00
Igor Sysoev
b84aa64dcb
Removed configure option --no-threads.
2017-08-24 17:43:32 +03:00
Igor Sysoev
8b4b52ae3b
Checking invalid command line options.
2017-08-24 17:43:31 +03:00
Igor Sysoev
1e53ff184c
Added command line option --version.
2017-08-24 17:29:57 +03:00
Igor Sysoev
259b90b9d7
Removed command line option --workers.
2017-08-24 17:29:53 +03:00
Igor Sysoev
6ef9fb7d97
Renamed command line option --no-daemonize to --no-daemon.
2017-08-24 17:29:43 +03:00
Valentin Bartenev
6e444a7959
Removed unused structure.
2017-08-22 17:37:58 +03:00
Valentin Bartenev
e34c7567c7
Renamed configure options.
2017-08-21 17:06:32 +03:00
Igor Sysoev
949548da29
The new module configuration interface.
...
Configuration and building example:
./configure
./configure python
./configure php
./configure go
make all
or
./configure
make nginext
./configure python
make python
./configure php
make php
./configure go
make go
Modules configuration options and building examples:
./configure python --module=python2 --config=python2.7-config
make python2
./configure php --module=php7 --config=php7.0-config
--lib-path=/usr/local/php7.0
make php7
./configure go --go=go1.6 --go-path=${HOME}/go1.6
make go1.6
2017-08-17 21:47:19 +03:00
Igor Sysoev
5ef8e0ee89
Removing auto/modules directory before commiting the new module
...
configuration infrastructure.
2017-08-17 21:47:19 +03:00
Valentin Bartenev
1ba2f44ad9
Introduced nxt_conf_get_array_element().
2017-08-16 15:45:38 +03:00
Valentin Bartenev
95907e2912
Object mapping interface extended with more string types.
2017-08-16 15:45:12 +03:00
Valentin Bartenev
2dd8048bf9
Renamed nxt_str_copy() to nxt_str_cstrz().
2017-08-16 15:43:02 +03:00
Ruslan Ermilov
23d38a5794
Corrected path to nxt_socket.h in comments.
2017-08-16 14:16:14 +03:00
Valentin Bartenev
2614758c04
Fixed building on ppc.
2017-08-15 16:36:00 +03:00
Valentin Bartenev
e2653f7ba5
Fixed building by GCC after 7d1017bd0f6c.
2017-08-13 15:58:44 +03:00
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
e62840cd54
Introducing configure option --with-php-ldflags=.
2017-08-04 08:21:22 +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
c93d2c7623
Include build/Makefile into main Makefile.
2017-08-02 13:18:04 +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