summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router_request.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-03-25Releasing shm buffers for large body requests.Max Romanov1-1/+0
This fixes memory and shm file descriptor leakage that occurred when a large request body was passed via shared memory. The leakage was caught with the "test_settings_body_buffer_size" test. The main condition is the "body_buffer_size" value exceeding 10 Mb (a shm segment). Thus, the router was forced to split the body into several shm segments, but these buffers were not freed because of dummy completion handlers.
2020-08-11Introducing application and port shared memory queues.Max Romanov1-2/+2
The goal is to minimize the number of syscalls needed to deliver a message.
2020-08-11Introducing the shared application port.Max Romanov1-34/+3
This is the port shared between all application processes which use it to pass requests for processing. Using it significantly simplifies the request processing code in the router. The drawback is 2 more file descriptors per each configured application and more complex libunit message wait/read code.
2020-03-17Fixing body fd access racing condition.Max Romanov1-0/+1
To avoid closing the body fd prematurely, the fd value is moved from the request struct to the app link. The body fd should not be closed immediately after the request is sent to the application due to possible request rescheduling.
2019-08-20Introducing websocket support in router and libunit.Max Romanov1-0/+71