summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_main_process.c (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2018-06-07PHP: added setting of php.ini configuration file path.Valentin Bartenev1-0/+6
2018-06-06Go: specifying command line arguments to the executable.Valentin Bartenev1-0/+7
This closes #110 issue on GitHub.
2018-05-29Added version number to main process title.Igor Sysoev1-1/+2
2018-05-28Configuration of environment variables for application processes.Valentin Bartenev1-0/+6
2018-04-11Access log reopening.Valentin Bartenev1-3/+11
2018-04-11Initial access log support.Valentin Bartenev1-0/+37
2018-03-21Added Ruby support.Alexander Borisov1-0/+10
2018-03-05Reduced number of critical log levels.Valentin Bartenev1-19/+15
2018-02-20Removed unwanted assertions.Max Romanov1-2/+3
2018-02-14Fixed race condition while discovering modules.Valentin Bartenev1-0/+9
Previously, the discovery process might exit before the main process received a list of available modules.
2018-02-13Improving configuration field mapping names.Max Romanov1-16/+25
Avoiding word 'common' as too common. Couple of assertions reduced to error messages.
2018-02-09Fixed starting of applications with specified version.Valentin Bartenev1-5/+15
The "type" option can contain version number that need to be cut off before calling nxt_app_parse_type(). The bug was introduced in 4979fe09d9cd.
2018-02-02Fixed typo in assertion statement introduced in 4979fe09d9cd.Max Romanov1-1/+1
Found by Coverity (CID 260375).
2018-01-31Added Perl support.Alexander Borisov1-2/+42
2018-01-29Introducing extended app process management.Max Romanov1-6/+0
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0).
2018-01-24Fixed formatting in nxt_sprintf() and logging.Sergey Kandaurov1-1/+1
2018-01-24Using size_t for the field width type of the "%*s" specifier.Sergey Kandaurov1-6/+8
2018-01-11Changing relative php scripts paths to real ones.Max Romanov1-1/+1
This is required to run phpMyAdmin.
2017-12-28Removed duplicate declaration.Igor Sysoev1-1/+1
2017-11-29Introducing python virtualenv configuration.Max Romanov1-0/+6
New parameter 'home' for python application allows to configure application-specific virtualenv path. This closes #15 issue on GitHub.
2017-11-20Fixing Coverity warnings.Max Romanov1-0/+3
CID 200496 CID 200494 CID 200490 CID 200489 CID 200483 CID 200482 CID 200472 CID 200465
2017-10-19Fixed controller restarting.Valentin Bartenev1-23/+35
Previously, stored configuration wasn't reread on controller process restart, which resulted in segmentation fault.
2017-10-19Filtering process to keep connection.Max Romanov1-0/+7
- Main process should be connected to all other processes. - Controller should be connected to Router. - Router should be connected to Controller and all Workers. - Workers should be connected to Router worker thread ports only. This filtering helps to avoid unnecessary communication and various errors during massive application workers stop / restart.
2017-10-10Optimized application type handling.Valentin Bartenev1-8/+4
2017-10-05Improved applications versions handling.Valentin Bartenev1-11/+4
2017-10-04Port message fragmentation supported.Max Romanov1-8/+28
- Each sendmsg() transmits no more than port->max_size payload data. - Longer buffers are fragmented and send using multiple sendmsg() calls. - On receive side, buffers are connected in chain. - Number of handler calls is the same as number of nxt_port_socket_write() calls. - nxt_buf_make_plain() function introduced to make single plain buffer from the chain.
2017-10-04Introducing process use counter.Max Romanov1-2/+7
This helps to decouple process removal from port memory pool cleanups.
2017-10-04Introducing use counters for port and app. Thread safe port write.Max Romanov1-5/+10
Use counter helps to simplify logic around port and application free. Port 'post' function introduced to simplify post execution of particular function to original port engine's thread. Write message queue is protected by mutex which makes port write operation thread safe.
2017-10-04Using engine memiory pool for port write allocations.Max Romanov1-2/+4
To allow use port from different threads, the first step is to avoid using port's memory pool for temporary allocations required to send data through the port. Including but not limited by: - buffers for data; - send message structures; - new mmap fd notifications; It is still safe to use port memory pool for incoming buffers allocations because recieve operation bound to single thread.
2017-09-25Style fixes.Igor Sysoev1-4/+5
2017-09-15Introducing named port message handlers to avoid misprints.Max Romanov1-19/+14
2017-09-15Introducing application timeout.Max Romanov1-2/+18
2017-09-10Configuration persistence.Valentin Bartenev1-2/+98
Now configuration survives server reloads.
2017-09-06Style fixes.Igor Sysoev1-11/+11
2017-09-05Using CSTRZ mapping type for go executable.Max Romanov1-1/+1
2017-09-05Introducing working_directory directive for applications.Max Romanov1-0/+6
2017-08-31nginext has been renamed to unit.Igor Sysoev1-1/+1
2017-08-31Introduced module compatibility vector.Igor Sysoev1-0/+10
2017-08-29The master process has been renamed to the main process.Igor Sysoev1-68/+68
2017-08-17The new module configuration interface.Igor Sysoev1-12/+165
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-16Object mapping interface extended with more string types.Valentin Bartenev1-1/+1
2017-08-11Controller: more HTTP headers and detailed JSON parsing errors.Valentin Bartenev1-1/+1
2017-08-04Fixed building without debug after c1ae75b4e17c and 6281674ecf4f.Valentin Bartenev1-5/+2
2017-08-04Fixed building by GCC.Igor Sysoev1-1/+1
2017-08-02Listening socket creation and binding operations are passedIgor Sysoev1-0/+197
to the master process.
2017-08-02Added basic port error handler.Max Romanov1-2/+2
2017-08-02Runtime processes protected with mutex.Max Romanov1-2/+4
2017-08-02Implicit port read buffer completion.Max Romanov1-3/+0
To disable implicit completion, handler should reset msg->buf field.
2017-08-02Using port rpc in router->master start worker request.Max Romanov1-18/+31
2017-08-02Port RPC interface introduced.Max Romanov1-0/+2
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().