Commit Graph

1854 Commits

Author SHA1 Message Date
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
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
Valentin Bartenev 2be31e2ed6 Fixed style and building with NXT_DEBUG_MEMORY after 3578a7b7ace4. 2017-07-12 20:57:18 +03:00
Max Romanov 288fa85431 Array elements reallocation fixed. 2017-07-12 20:32:22 +03:00
Max Romanov 48afadfe7c Memory pool debug enabled with NXT_DEBUG_ALLOC define. 2017-07-12 20:32:20 +03:00
Max Romanov 7d3fd1c96c Single allocation for app conf and name. 2017-07-12 20:32:19 +03:00
Max Romanov a97a5e8a0b Go: worker initialization. READY message to master. 2017-07-12 20:32:18 +03:00
Max Romanov 51bbdd3338 PHP SAPI: dynamic worker initialization. 2017-07-12 20:32:17 +03:00
Max Romanov b0c1e740cf New process port exchange changed. READY message type introduced.
Application process start request DATA message from router to master.
Master notifies router via NEW_PORT message after worker process become ready.
2017-07-12 20:32:16 +03:00
Valentin Bartenev c38bcb7d70 Controller: proper reconfiguration requests handling.
Now controller serializes all reconfiguration requests
and waits for result from router.
2017-07-12 20:21:17 +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
Valentin Bartenev dc874cd22e Configuration: improved validation. 2017-07-10 18:53:36 +03:00
Valentin Bartenev eb4c2e4a21 Configuration: nxt_conf_map_object() improvements. 2017-07-10 17:55:51 +03:00
Valentin Bartenev c0674de78d Controller: passing full configuration to router. 2017-07-10 17:55:44 +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
Valentin Bartenev fd0a4ff064 Configuration: basic schema validation for applications. 2017-07-07 20:37:43 +03:00
Max Romanov e41425bb1f Router: connection destroy sequence fixed. 2017-07-07 18:16:14 +03:00
Valentin Bartenev fc9f73bbea Controller: relaxed JSON parser.
Now it allows commas after the last elements in objects and arrays,
as it's a common Igor's mistake.
2017-07-07 18:09:15 +03:00
Max Romanov 9a402ea83d Taken counter initialized for new pages.
Fixed crash in nxt_mp_get() when pages re-used and 'taken' contains initial
'map' value '0xFFFFFFFF'.
2017-07-07 16:01:34 +03:00
Max Romanov e58f4ef0d0 Memory pool thread safety checks in DEBUG build and usage fixes. 2017-07-07 16:01:34 +03:00
Max Romanov e15b975e9d Work queue thread safety checks for DEBUG build. 2017-07-07 16:01:34 +03:00
Max Romanov 5529e9f0d1 Python initialization moved from master to worker application. 2017-07-07 16:01:34 +03:00
Max Romanov 74cda90e31 Process stop notification from master to all other processes.
New port message type introduced NXT_PORT_MSG_REMOVE_PID. Default handler
removes process description from nxt_runtime_t with all ports, incoming and
outgoing mmaps etc.
2017-07-07 16:01:34 +03:00
Max Romanov 61008a7c0b Cosmetic changes to remove some annoying valgrind messages. 2017-07-07 16:01:34 +03:00
Max Romanov 264ae98d49 Using engine's task instead of listen's task. 2017-07-07 16:01:34 +03:00
Max Romanov f319220a6c Redirecting buffer completion handler to specific engine.
There is a case in router where we use port in router connection thread.
Buffers are allocated within connection memory pool which can be used only in
this router thread. sendmsg() can be postponed into main router thread and
completion handler will compare current engine and post itself to correct
engine.
2017-07-07 16:01:34 +03:00
Valentin Bartenev c9fbd832ab Controller: sending JSON configuration to router. 2017-07-06 22:52:05 +03:00
Valentin Bartenev 22d73057d9 Fixed mapping of int32_t in nxt_conf_map_object(). 2017-07-06 22:50:38 +03:00
Max Romanov c56d2af3bc Router: read configuration from port.
Controller: stub to send configuration from POST body "as is" to router.
2017-07-06 18:38:51 +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
Valentin Bartenev 842aa9ab46 Configuration: basic validation of schema. 2017-07-05 18:44:43 +03:00
Igor Sysoev 4fe5d22dcc Router: processing JSON configuration. 2017-07-05 14:05:21 +03:00
Max Romanov d28d502aa5 PHP SAPI: SERVER_NAME, SERVER_PORT and REMOTE_ADDR introduced. 2017-07-05 13:32:02 +03:00
Max Romanov 41e2678110 Python WSGI: SERVER_NAME, SERVER_PORT fixed, REMOTE_ADDR introduced.
Shortcut: do not iterate over String (or Bytes) return object.
Call 'close()' for return object (if present).
2017-07-05 13:31:53 +03:00
Max Romanov f3107f3896 Complex target parser copied from NGINX.
nxt_app_request_header_t fields renamed:
- 'path' renamed to 'target'.
- 'path_no_query' renamed to 'path' and contains parsed value.
2017-07-05 13:31:45 +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
Valentin Bartenev e4afc6ae98 Controller: fixed reading of request body. 2017-06-28 22:48:13 +03:00
Valentin Bartenev 53074c3b29 Configuration: reduced names of structures, functions, and macros. 2017-06-28 18:56:33 +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