Commit Graph

210 Commits

Author SHA1 Message Date
Max Romanov
92f3b85298 The process type enum exposed to go module. 2017-08-29 14:18:00 -07:00
Max Romanov
5b879f0e2b Using NXT_GO variable instead of explicit go. 2017-08-29 11:37:49 -07:00
Max Romanov
52ae0e69c1 Store and use NXT_LIBRT for go module. 2017-08-29 11:33:35 -07:00
Max Romanov
73dc76b0bf Separation of module prerequisites for 'all' target in Makefile.
To avoid using sed -i.
2017-08-29 11:33:34 -07:00
Igor Sysoev
9d487df10d The master process has been renamed to the main process. 2017-08-29 02:59:35 +03:00
Igor Sysoev
946867febe Improved English. 2017-08-29 02:22:22 +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
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
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
Igor Sysoev
e62840cd54 Introducing configure option --with-php-ldflags=. 2017-08-04 08:21:22 +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
a7ef8481fc Added make target 'golang-nginext-install' to install precompiled go package. 2017-08-02 13:01:54 +03:00
Max Romanov
83d7ab38ac Using old-style packed attribute specification for compatibility. 2017-08-02 13:01:54 +03:00
Igor Sysoev
145eeb8476 Improved PHP configure test. 2017-07-26 12:17:41 +03:00
Igor Sysoev
237bd6b1c2 Improved Python configure test. 2017-07-26 12:17:32 +03:00
Igor Sysoev
740382e36e Improved Go configure test. 2017-07-26 12:17:27 +03:00
Igor Sysoev
d218c5f7b4 Updated Go configure test. 2017-07-25 20:29:02 +03:00
Valentin Bartenev
9d707800b0 More accurate "packed" attribute declaration. 2017-07-18 17:13:40 +03:00
Ruslan Ermilov
ca3b1b898a Restored arc4random unit test after 59fc46dd5e1d. 2017-07-14 20:37:28 +03:00
Valentin Bartenev
842aa9ab46 Configuration: basic validation of schema. 2017-07-05 18:44:43 +03:00
Valentin Bartenev
53074c3b29 Configuration: reduced names of structures, functions, and macros. 2017-06-28 18:56:33 +03:00
Max Romanov
b53b7b0413 Build on Solaris 11 fixed. 2017-06-26 19:58:43 +03:00
Max Romanov
4a1b59c27a External Go app request processing. 2017-06-23 19:20:08 +03:00
Max Romanov
5a43bd0bfd PHP app request processing. 2017-06-23 19:20:08 +03:00
Max Romanov
fa6582d9ad Python app request processing. 2017-06-23 19:20:08 +03:00
Max Romanov
0cd9521687 Store pointer to shared memory start in buf->parent.
nxt_port_mmap_t stored in arrays and it is unsafe to store
pointer to array element.

Shared memory structures and macros moved to separate header
file to be used by GO package.
2017-06-23 19:20:04 +03:00
Max Romanov
0fdcdde6c8 lvlhash for ports moved to separate files for future re-use. 2017-06-23 19:19:41 +03:00
Igor Sysoev
f888a5310c Using new memory pool implementation. 2017-06-20 19:49:17 +03:00
Igor Sysoev
b1b9f621a4 Memory pools refactoring. 2017-06-19 16:26:19 +03:00
Igor Sysoev
7574c64992 nxt_event_conn_... functions and structures have been renamed
to nxt_conn_...
2017-06-14 15:18:52 +03:00
Igor Sysoev
5bc011afad Skeleton of router configuration and request processing. 2017-05-31 15:26:45 +03:00
Max Romanov
f7b4bdfd89 Using shared memory to send data via nxt_port.
Usage:
    b = nxt_port_mmap_get_buf(task, port, size);
    b->mem.free = nxt_cpymem(b->mem.free, data, size);
    nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b);
2017-05-12 20:32:41 +03:00
Max Romanov
cfed068c1d Macros for atomic 'OR' and 'AND' operations introduced.
Compiler built-ins used, where possible. Necessary configure checks added.
New macros:
    nxt_atomic_or_fetch(ptr, val)
    nxt_atomic_and_fetch(ptr, val)

Syntax and behaviour is similar to __sync_or_and_fetch and __sync_and_and_fetch
GCC build-ins.
2017-04-21 16:55:13 +03:00
Valentin Bartenev
bf401fa544 JSON parsing in controller. 2017-04-10 17:06:22 +03:00
Igor Sysoev
5135fcea93 Adding CFLAGS to link commands to pass flags required by
AddressSanitizer.
2017-03-14 19:05:43 +03:00
Igor Sysoev
612c083579 Fixed unit tests building broken by the previous commit. 2017-03-14 15:09:17 +03:00
Igor Sysoev
6f2c9acd18 Processes refactoring.
The cycle has been renamed to the runtime.
2017-03-09 18:03:27 +03:00
Valentin Bartenev
4df646a258 HTTP parser. 2017-03-01 15:29:18 +03:00
Valentin Bartenev
fde4d18e3a Removed legacy HTTP parser. 2017-03-01 15:17:55 +03:00