summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_runtime.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-01-24Fixed formatting in nxt_sprintf() and logging.Sergey Kandaurov1-1/+1
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-19Supporting concurrent shared memory fd receive in router.Max Romanov1-6/+6
Two different router threads may send different requests to single application worker. In this case shared memory fds from worker to router will be send over 2 different router ports. These fds will be received and processed by different threads in any order. This patch made possible to add incoming shared memory segments in arbitrary order. Additionally, array and memory pool are no longer used to store segments because of pool's single threaded nature. Custom array-like structure nxt_port_mmaps_t introduced.
2017-10-10Optimized application type handling.Valentin Bartenev1-1/+1
2017-10-05Improved applications versions handling.Valentin Bartenev1-1/+1
2017-10-04Introducing process use counter.Max Romanov1-16/+14
This helps to decouple process removal from port memory pool cleanups.
2017-10-04Return error codes for port_hash operations.Max Romanov1-2/+12
2017-10-04Introducing use counters for port and app. Thread safe port write.Max Romanov1-9/+27
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-0/+1
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-10-04Removing mem_pool from port_hash interface.Max Romanov1-5/+10
Memory pool is not used by port_hash and it was a mistake to pass it into 'add' and 'remove' functions. port_hash enrties are allocated from heap.
2017-09-22Removed fibers from compilation.Valentin Bartenev1-0/+2
It's not used anyway, but breaks building with musl. This closes issue #5 on GitHub.
2017-09-10Configuration persistence.Valentin Bartenev1-0/+40
Now configuration survives server reloads.
2017-09-06Style fixes.Igor Sysoev1-2/+3
2017-08-31Changed modules names format.Igor Sysoev1-1/+1
2017-08-31nginext has been renamed to unit.Igor Sysoev1-5/+5
2017-08-30Fixed pid_file pattern misprint introduced in 231:6832cdee961e.Max Romanov1-1/+1
2017-08-30Adding a missing slash to the tail of path set by --modulesIgor Sysoev1-3/+12
command line option.
2017-08-29The master process has been renamed to the main process.Igor Sysoev1-8/+8
2017-08-29Improved English.Igor Sysoev1-3/+3
2017-08-26Added configure and command line option --help.Igor Sysoev1-0/+44
2017-08-26Added configure and command line option --control.Igor Sysoev1-22/+39
2017-08-26Added configure and command line option --modules.Igor Sysoev1-0/+24
2017-08-26Added configure option --user=USER and --group=GROUP.Igor Sysoev1-6/+6
2017-08-26Added configure option --pid=FILE.Igor Sysoev1-15/+4
A pid file name can be relative. The default pid file name is "nginext.pid".
2017-08-26Added configure options --prefix=PATH and --log=FILE.Igor Sysoev1-14/+8
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-24Fixed building by GCC after 924c70e5fd1f.Valentin Bartenev1-1/+1
2017-08-24Removed configure option --no-threads.Igor Sysoev1-35/+3
2017-08-24Checking invalid command line options.Igor Sysoev1-1/+8
2017-08-24Added command line option --version.Igor Sysoev1-4/+13
2017-08-24Removed command line option --workers.Igor Sysoev1-23/+0
2017-08-24Renamed command line option --no-daemonize to --no-daemon.Igor Sysoev1-1/+1
2017-08-17The new module configuration interface.Igor Sysoev1-11/+17
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-16Corrected path to nxt_socket.h in comments.Ruslan Ermilov1-1/+1
2017-08-02Runtime processes protected with mutex.Max Romanov1-32/+92
2017-07-18Mem pool cleanup introduced.Max Romanov1-4/+6
Used for connection mem pool cleanup, which can be used by buffers. Used for port mem pool to safely destroy linked process.
2017-07-18Port allocation and destroy changed. Worker process stop introduced.Max Romanov1-20/+5
2017-07-12New process port exchange changed. READY message type introduced.Max Romanov1-34/+36
Application process start request DATA message from router to master. Master notifies router via NEW_PORT message after worker process become ready.
2017-07-07Memory pool thread safety checks in DEBUG build and usage fixes.Max Romanov1-14/+30
2017-07-07Process stop notification from master to all other processes.Max Romanov1-4/+28
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-06-28Fixed building with enabled IPv6 support.Igor Sysoev1-4/+4
2017-06-23Incoming and outgoing port_mmap arrays are protected with mutexes.Max Romanov1-0/+3
2017-06-23lvlhash for ports moved to separate files for future re-use.Max Romanov1-101/+4
2017-06-23Runtime ports fix, add enumeration macros.Max Romanov1-3/+16
2017-06-21Removed surplus type casting from nxt_memcmp() calls.Valentin Bartenev1-1/+1
2017-06-20Using new memory pool implementation.Igor Sysoev1-27/+23
2017-06-14nxt_event_conn_... functions and structures have been renamedIgor Sysoev1-3/+3
to nxt_conn_...
2017-06-06The controller did not work because of changes in the previousIgor Sysoev1-1/+1
changeset.
2017-05-31Skeleton of router configuration and request processing.Igor Sysoev1-17/+14
2017-05-12Using shared memory to send data via nxt_port.Max Romanov1-21/+306
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-03-14Solaris compatibilty.Igor Sysoev1-12/+12