summaryrefslogtreecommitdiffhomepage
path: root/go (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-01-10Go: Add missing +build and go:build commentsDanielle De Leo2-0/+2
A RHEL 8 test was failing because it uses go1.16. The old style must be retained for backwards compat. Fixes: 9a36de84c ("Go: Use Homebrew include paths") Reviewed-by: Andrew Clayton <a.clayton@nginx.com> Reviewed-by: Dylan Arbour <d.arbour@f5.com> Signed-off-by: Danielle De Leo <d.deleo@f5.com>
2023-12-05Go: Use Homebrew include pathsDanielle De Leo1-0/+14
Fixes nginx/unit#967
2022-01-10Tests: using modules in Go.Max Romanov1-0/+1
2021-11-09Introduced SCM_CREDENTIALS / SCM_CREDS in the socket control msgs.Tiago Natel de Moura2-6/+9
2021-11-08Go: fixing racing condition on app start.Max Romanov2-5/+9
Request procesing loop should be started in ready handler to avoid race between go-routine start and context ready flag assignment. The issue introduced in 43553aa72111.
2021-10-28Moving request limit control to libunit.Max Romanov1-1/+2
Introducting application graceful stop. For now only used when application process reach request limit value. This closes #585 issue on GitHub.
2020-11-18Go: removing C proxy functions and re-using goroutines.Max Romanov6-291/+160
2020-08-11Introducing the shared application port.Max Romanov3-3/+18
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-08-11Adding a reference counter to the libunit port structure.Max Romanov1-6/+6
The goal is to minimize the number of (pid, id) to port hash lookups which require a library mutex lock. The response port is found once per request, while the read port is initialized at startup.
2020-08-11Libunit refactoring: port management.Max Romanov1-6/+7
- Changed the port management callbacks to notifications, which e. g. avoids the need to call the libunit function - Added context and library instance reference counts for a safer resource release - Added the router main port initialization
2020-04-10Resolving a racing condition while adding ports on the app's side.Max Romanov1-1/+5
An earlier attempt (ad6265786871) to resolve this condition on the router's side added a new issue: the app could get a request before acquiring a port.
2020-03-30Fixing application process infinite loop.Max Romanov1-0/+4
Main process exiting before app process init may have caused hanging.
2019-12-24Go: introducing SHM_ACK observer.Max Romanov3-11/+77
Each request processed in a separate goroutine. In case of OOSM state, during response write, request goroutine blocks on channel which waits event from main thread about SHM_ACK message from router.
2019-12-24Go: moving source files to the root of the project.Max Romanov8-0/+820
This patch includes packaging changes related to files move.