summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2017-12-08HTTP parser: improved detection of corrupted request line.Valentin Bartenev1-1/+43
2017-12-08HTTP parser: slightly improved readability of code.Valentin Bartenev1-103/+101
As suggested by Igor Sysoev.
2017-12-07Fixed protocol version string handling in router.Valentin Bartenev1-1/+1
2017-12-06Tests: added basic PHP tests.Andrey Zelenkov2-3/+173
2017-12-06Tests: check_modules() function introduced.Andrey Zelenkov3-10/+54
2017-12-06Tests: port range changed to 7xxx.Andrey Zelenkov2-19/+19
2017-12-06Tests: removed extra parameter from range() call.Andrey Zelenkov1-1/+1
2017-12-06Tests: waitforfiles() optimization.Andrey Zelenkov1-14/+15
2017-12-06Tests: don't exceed 79 characters.Andrey Zelenkov1-2/+3
2017-12-06Go: removing request registry.Max Romanov11-244/+96
Passing unsafe.Pointers (void *) from Go to C is complicated by an attempt to make such pointers less unsafe. A straightforward optimization is to replace 'unsafe.Pointer' with 'uintptr' (thanks to Xin Huang for the idea: https://stackoverflow.com/a/44826533 ). As a result, request registry with mutex is gone.
2017-12-05Fixing Go package build in NetBSD.Max Romanov1-1/+1
Bug introduced in 585c8068a6d7.
2017-12-01Packaging changes for updated Go package.Max Romanov10-36/+140
- package name changed to 'nginx/unit'; - source files installed in /usr/share/gocode; - rpm and deb go packages made noarch.
2017-12-01Making Go package source distributable and renaming to 'nginx/unit'.Max Romanov9-107/+52
All header files are copied to Go package sources. As the result, package can be (re-)build when required. This closes #23 issue on GitHub.
2017-12-01Initializing port_msg fields with zeroes in Go package.Max Romanov2-0/+4
2017-12-01Using compiler capability to generate dependencies.Max Romanov7-119/+78
This closes #58 issue on GitHub.
2017-11-29Using --ld-opt when linking modules.Max Romanov3-5/+5
2017-11-29Introducing python virtualenv configuration.Max Romanov4-0/+44
New parameter 'home' for python application allows to configure application-specific virtualenv path. This closes #15 issue on GitHub.
2017-11-29Tests: "verbose" mode introduced.Andrey Zelenkov1-13/+39
2017-11-29Tests: waitforfiles function introduced.Andrey Zelenkov1-9/+27
2017-11-28Tests: fixed port number in test_basic.t.Andrey Zelenkov1-3/+3
2017-11-28Tests: changed shebang to the default.Andrey Zelenkov1-1/+1
2017-11-02Fixing build on Solaris.Max Romanov2-2/+2
2017-11-27Timer should be marked as it is not in tree after deletion.Igor Sysoev1-0/+1
This closes #64 issue on GitHub.
2017-11-27Removed uncontext.h.Igor Sysoev1-2/+0
This removal was missed the changeset 2aad6a5fac13.
2017-11-27A number of engine connections is decreased on connection close.Igor Sysoev4-4/+12
2017-11-21Tests: added basic infrastructure.Andrey Zelenkov4-0/+425
2017-11-21Tests: move existing tests to "src" folder.Andrey Zelenkov20-19/+19
2017-11-21Fixed crash on invalid JSON number.Valentin Bartenev1-0/+4
2017-11-20Fixing Coverity warnings.Max Romanov7-10/+23
CID 200496 CID 200494 CID 200490 CID 200489 CID 200483 CID 200482 CID 200472 CID 200465
2017-10-27Fixing racing condition in request.msgs usage.Max Romanov1-8/+8
2017-10-27Fixing Go program crash.Max Romanov1-2/+2
Go request registration should be removed before C request memory freed. C request address used as a key in Go map. Freed memory can be instantly reused for other request and older request registration should removed at this point to avoid collisions.
2017-10-25Checking the result of shared memory buffer allocation.Max Romanov1-0/+3
This closes #57 issue on GitHub.
2017-10-25Avoiding compilation on systems with no working shared memory.Valentin Bartenev1-0/+4
2017-10-23Fixed change log for version 0.2.Valentin Bartenev2-16/+0
Records about Go were added by mistake. The relevant patches haven't been committed yet.
2017-10-20Using the single source of Unit version.Igor Sysoev1-1/+2
2017-10-20Version bump.Igor Sysoev2-3/+3
2017-10-19Added tag 0.2 for changeset b09757e4984eIgor Sysoev1-0/+1
2017-10-19Introduced deb packages building tools.0.2Andrei Belov39-3/+1367
2017-10-19Introduced rpm packages building tools.Andrei Belov21-1/+932
2017-10-19Fixing Go package build.Max Romanov5-14/+21
Go package build was broken by change 365:28b2a468be43.
2017-10-19Added version 0.2 CHANGES.Igor Sysoev2-1/+84
2017-10-19Added changelogs generation tools.Andrei Belov7-0/+669
2017-10-19Fixed controller restarting.Valentin Bartenev2-24/+38
Previously, stored configuration wasn't reread on controller process restart, which resulted in segmentation fault.
2017-10-19Keep application worker until response for all requests received.Max Romanov1-1/+4
2017-10-19Filtering process to keep connection.Max Romanov5-13/+58
- 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-19Introducing mmap_handler to count references to shared memory.Max Romanov3-87/+146
"All problems in computer science can be solved by another level of indirection" Butler Lampson Completion handlers for application response buffers executed after sending the data to client. Application worker can be stopped right after send response buffers to router. Worker stop causes removal of all data structures for the worker. To prevent shared memory segment unmap, need to count the number of buffers which uses it. So instead of direct reference to shared memory, need to reference to intermediate 'handler' structure with use counter and pointer to shared memory.
2017-10-19Supporting concurrent shared memory fd receive in router.Max Romanov6-104/+86
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-19Introducing src_pid for mmap header for accurate buf completion.Max Romanov3-16/+30
This allows to use shared memory to communicate with main process. This patch changes shared memory segment format and breaks compatibility with older modules.
2017-10-19Fixed matching of empty version.Valentin Bartenev1-0/+4
2017-10-19Fixed the bug introduced in the previous changeset.Igor Sysoev1-4/+9