Commit Graph

712 Commits

Author SHA1 Message Date
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 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
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
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 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