Commit Graph
90 Commits
Author SHA1 Message Date
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
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
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
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
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
Igor Sysoev 9183ea3f71 Fixed building by Clang. 2017-07-18 18:04:17 +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
Igor Sysoev daaa216e2f Using correct task for connection initialization. 2017-07-13 22:44:46 +03:00
Igor Sysoev c5d791d0c4 Router: restoring listening sockets of the previous configuration. 2017-07-13 16:48:28 +03:00
Igor Sysoev 0324d51b8d Closing new listening sockets on configuration failure. 2017-07-12 21:21:00 +03:00
Igor Sysoev 4f4061061b Sending a result of configuration applying back to the controller. 2017-07-11 20:14:50 +03:00
Igor Sysoev 3bccb7f358 Introducing thread-safe nxt_random(). 2017-07-10 21:07:12 +03:00
Igor Sysoev aaf9378dcc Router: a fix in the previous changeset. 2017-07-07 21:20:29 +03:00
Igor Sysoev b54bcef53d Router: processing application configuration. 2017-07-07 21:09:45 +03:00
Igor Sysoev e1219569f4 An assertion on listening socket close. 2017-07-05 22:55:07 +03:00
Igor Sysoev 4ed0a15cd0 By default a number of router worker threads is set to a number
of CPUs.
2017-07-05 22:53:29 +03:00
Igor Sysoev 4fe5d22dcc Router: processing JSON configuration. 2017-07-05 14:05:21 +03:00
Igor Sysoev f05d674126 Added nxt_msec_t element to nxt_conf_map_object(). 2017-06-29 19:26:32 +03:00
Igor Sysoev 46c6513c2b Fixed port processing in nxt_sockaddr_text(). 2017-06-29 19:25:46 +03:00
Igor Sysoev 499a8f9ac8 Using static and constant linger structure. 2017-06-29 15:52:47 +03:00
Igor Sysoev 52f79c3e53 Fixed building on Solaris broken in changeset 4077decf847b. 2017-06-28 23:52:07 +03:00
Igor Sysoev ec5e540fd7 Fixed building with enabled IPv6 support. 2017-06-28 18:01:00 +03:00
Igor Sysoev ee381fcca1 JSON property iterator nxt_conf_json_object_next_member(). 2017-06-28 15:26:54 +03:00
Igor Sysoev d8f371dde9 Setting listen socket fields lost in changeset 10688b89aa16. 2017-06-28 15:16:28 +03:00
Igor Sysoev 61c20aae4b Small optimization in nxt_sockaddr_text(). 2017-06-28 09:33:35 +03:00
Igor Sysoev 2006e9f537 Fixed INET6 sockaddr processing in nxt_sockaddr_text(). 2017-06-27 20:06:59 +03:00
Igor Sysoev cf3e714c39 Fixed Unix sockaddr processing in nxt_sockaddr_text(). 2017-06-27 20:06:56 +03:00
Igor Sysoev 9041d276fc nxt_sockaddr_parse() introducted. 2017-06-27 19:06:58 +03:00
Igor Sysoev 3fcda23f15 Style and comment fixes. 2017-06-23 13:28:39 +03:00
Igor Sysoev 5e73d93999 Optimizations in nxt_mp_create(). 2017-06-21 10:21:06 +03:00
Igor Sysoev d59e906c01 Fixed building with -DNXT_DEBUG_MEMORY=1 (broken in 10688b89aa16). 2017-06-21 10:20:41 +03:00
Igor Sysoev 1a22195830 Fixed errors in the previous changeset. 2017-06-20 19:59:12 +03:00
Igor Sysoev f888a5310c Using new memory pool implementation. 2017-06-20 19:49:17 +03:00
Igor Sysoev c7ab908c19 Fixed error in the previous changeset. 2017-06-20 13:56:28 +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 3e2632688f Router: follow up to HTTP parser changes. 2017-06-14 15:18:43 +03:00
Igor Sysoev d0c72e0726 C99 style declaration of connection states. 2017-06-06 18:57:58 +03:00
Igor Sysoev 49e9049ed2 Optimization of kqueue event processing on connection close. 2017-06-06 18:57:52 +03:00
Igor Sysoev 71c906a512 The controller did not work because of changes in the previous
changeset.
2017-06-06 18:53:15 +03:00
Igor Sysoev 5bc011afad Skeleton of router configuration and request processing. 2017-05-31 15:26:45 +03:00
Igor Sysoev f5c3b1c637 A small rbtree delete fixup optimization.
Setting node color to black is not required here because
it is already black.  Besides in the original algorithm
the node pointer is discarded and the node is set to tree
root just to quit the loop.

Thanks to 洪志道 (Hong Zhi Dao).
2017-05-29 10:17:36 +03:00
Igor Sysoev 4f9f463799 A small rbtree insert fixup optimization.
Thanks to 洪志道 (Hong Zhi Dao).
2017-05-26 19:12:47 +03:00
Igor Sysoev 1782c771fa Fixed error introduced in rev d3dfd7c497e8. 2017-05-12 15:42:23 +03:00
Igor Sysoev 60ae0314c0 Fixed building on MacOSX. 2017-04-11 15:59:17 +03:00
Igor Sysoev 3b8963da4d Event connection writing fixes. 2017-03-23 15:52:27 +03:00
Igor Sysoev e13cbdb439 Solaris compatibilty. 2017-03-14 19:52:57 +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 3a8a4744b8 Fixed building on FreeBSD. 2017-03-14 19:03:49 +03:00
Igor Sysoev 979108f0ef Importing memory cache pool changes from nJScript. 2017-03-14 19:02:30 +03:00
Igor Sysoev aa047be6b9 Zero size memory pool allocations have been disabled in unit test
becuase they are handled incorrectly with the -DNXT_DEBUG_MEMORY=1
option.
2017-03-14 19:00:32 +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
Igor Sysoev b379dae85e Port changes. 2017-02-22 15:10:28 +03:00
Igor Sysoev 029942f4eb I/O operations refactoring. 2017-02-22 15:09:59 +03:00
Igor Sysoev 059a864289 Event engines refactoring. 2017-02-07 20:04:56 +03:00
Igor Sysoev e57b95a923 Process channels have been renamed to ports. 2017-02-01 20:03:45 +03:00
Igor Sysoev 6e67bee0f4 nxt_str_t changes. 2017-02-01 19:20:07 +03:00
Igor Sysoev 8942550b13 More refactoring relicts removed. 2017-02-01 15:07:23 +03:00
Igor Sysoev d4d36c65fa Fixes of various issues introduced by refactoring. 2017-01-31 22:26:53 +03:00
Igor Sysoev 18281ee37e Event engine timers refactoring. 2017-01-31 22:26:50 +03:00
Igor Sysoev bb87fa11ca nxt_event_timer has been renamed to nxt_timer. 2017-01-30 16:47:50 +03:00
Igor Sysoev 952291c93c Importing rbtree changes from nJScript. 2017-01-30 12:14:49 +03:00
Igor Sysoev ba0391577b Work queues refactoring. 2017-01-27 11:35:11 +03:00
Igor Sysoev 6886b83c1f Now CFLAGS variable allows to overwrite configured options. 2017-01-24 19:25:32 +03:00
Igor Sysoev 4d3a5f24c1 Fixed Python building on Ubuntu. 2017-01-24 17:32:38 +03:00
Igor Sysoev de532922d9 Introducing tasks. 2017-01-23 19:56:03 +03:00
Igor Sysoev 16cbf3c076 Initial version. 2017-01-17 20:00:00 +03:00