Commit Graph

2471 Commits

Author SHA1 Message Date
Max Romanov 838d9946ac Introducing named port message handlers to avoid misprints. 2017-09-15 20:30:34 +03:00
Max Romanov 1449e27cb4 Fixing memory leak of request parse context. 2017-09-15 20:30:29 +03:00
Max Romanov 0bec14878e Introducing application timeout. 2017-09-15 20:30:24 +03:00
Valentin Bartenev 90ae152ce0 Fixed port handlers arrays. 2017-09-15 14:38:22 +03:00
Igor Sysoev 7c1db30994 Router: more logical code order change.
Updating the router engines list before posting jobs to worker thread
engines is more logical because worker threads may exit after the posting.
However, the previous code was safe because an engine is freed by
the router main thread after worker its thread has exited.
2017-09-15 12:27:24 +03:00
Igor Sysoev 309ba5abf2 Router: fixed segmentation fault.
The router process exited abnormally on reconfiguration if number
of worker threads had been decreased on the previous reconfiguration.
Besides the list of router engines should be updated only after a new
configuration joints have been prepared for all engines.
2017-09-14 22:30:38 +03:00
Valentin Bartenev 4953e5b5cb Configuration persistence.
Now configuration survives server reloads.
2017-09-10 06:22:15 +03:00
Igor Sysoev 72c3e08158 Router: worker threads should quit only if the main thread has
requested this.
2017-09-14 19:53:25 +03:00
Igor Sysoev 4d5e39e8c1 Fixed textual socket name lengths and Unix domain sockaddr length. 2017-09-14 18:16:22 +03:00
Nick Shadrin f3280c5dc9 Fixed error messages grammar. 2017-09-12 21:14:40 +03:00
Javier Revillas 541f738a7f Removing extra spaces introduced by PR #1.
This closes #24 PR on GitHub.
From 1903735e179a68c5cb661a375a1a022f764ed3f1
2017-09-11 12:36:07 +03:00
Andrei Vagin 962f127939 Fixed a memory leak.
This closes #2 RP on GitHub.
From f13cca01b7aa489dcb6909513f2b781b36ac7fea
2017-09-08 14:10:48 -07:00
Sergey Fedchenko 22c6805949 Cosmetic fixes in port.go.
This closes #5 on GitHub.
From 615369a29511c6021e5623070f082fdb17ff37a2
2017-09-08 14:10:23 -07:00
Igor Sysoev 409dcd3a79 README: Fixed typos.
These closes #9, closes #13, closes #21 issues on GitHub.
2017-09-09 00:04:12 +03:00
Eugene Agafonov fa42e9c7f9 Fixed typo.
This closes #1 PR on GitHub.
2017-09-07 01:41:22 +03:00
Max Romanov d87a4fb642 Moving body data before headers for PHP POST.
PHP SAPI tries to read body for POST request before registering
header-specific variables. For other methods, read_post_body() called by SAPI
after variables registration.

This closes #10 issue on GitHub.
2017-09-07 16:39:31 -07:00
Max Romanov 789a101e99 Decalring clean and dist targets as .PHONY. 2017-09-07 16:38:05 -07:00
Valentin Bartenev 2c24b89844 README: fixed "hg clone" command. 2017-09-08 00:01:22 +03:00
Valentin Bartenev 67b8dd0387 README: added mention of the licence in the main section. 2017-09-07 23:59:10 +03:00
Igor Sysoev 1bff7d02fb README: fixed URLs. 2017-09-06 23:52:57 +03:00
Igor Sysoev f08c68f232 README: shortened description. 2017-09-06 23:46:20 +03:00
Igor Sysoev 4daf74d659 README: fixed URLs. 2017-09-06 23:19:55 +03:00
Andrei Belov 0a03c41114 README: fixed package repository paths. 2017-09-06 23:14:05 +03:00
Igor Sysoev 40ff354361 Added tag 0.1 for changeset f9d308f3fceb 2017-09-06 22:50:26 +03:00
Valentin Bartenev 9e8328f758 README: added features list. 2017-09-06 22:37:07 +03:00
Igor Sysoev f8c94cbcfb README: added Troubleshooting section. 2017-09-06 20:40:15 +03:00
Igor Sysoev 5b7e4782db README: fixed anchor. 2017-09-06 20:40:12 +03:00
Igor Sysoev 14b92a0058 README: using entities. 2017-09-06 20:39:33 +03:00
Igor Sysoev 8e9c7a1b26 README: removed italic typeface. 2017-09-06 20:13:33 +03:00
Igor Sysoev fc001c16d8 README: added tarball section. 2017-09-06 19:53:23 +03:00
Igor Sysoev 9d65202aef Fixed README.md typos. 2017-09-06 19:50:45 +03:00
Igor Sysoev 1fc7f1a0b5 Fixed README.md typos. 2017-09-06 19:37:52 +03:00
Igor Sysoev acd7e094b1 README.md fixes. 2017-09-06 19:33:58 +03:00
Igor Sysoev 89df39374c Added the dist target in Makefile. 2017-09-06 19:23:50 +03:00
Igor Sysoev 26dfd4da97 Added CHANGES file. 2017-09-06 19:14:28 +03:00
Max Romanov 999de31e25 Spreading user validation for php and go apps. 2017-09-06 08:59:18 -07:00
Nick Shadrin a89b3cf8e9 Updated README.md, added info about integration with NGINX. 2017-09-06 08:56:27 -07:00
Igor Sysoev eb1b4b99b1 Shortened titles in README.md and dispensable information. 2017-09-06 18:40:06 +03:00
Igor Sysoev 781726053f Added LICENSE and NOTICE files. 2017-09-06 18:26:37 +03:00
Igor Sysoev 37c16d1801 Fixed building by Sun C on Solaris. 2017-09-06 17:13:18 +03:00
Max Romanov 05f93d931b Fixed go package installation instructions. 2017-09-05 22:31:57 -07:00
Max Romanov 76f3d7435f Added software installation instructions for CentOS. 2017-09-05 18:04:46 -07:00
Igor Sysoev c4cba21a47 Added README.md. 2017-09-06 02:30:55 +03:00
Igor Sysoev 58907888e5 Style fixes. 2017-09-06 02:30:55 +03:00
Igor Sysoev 22ae3d4ff5 Controller: validating user and group names. 2017-09-06 02:30:23 +03:00
Max Romanov f0723995a7 Fixing request id logging. 2017-09-05 15:56:37 -07:00
Max Romanov 0f9f0ca522 Fixing racing condition on app port release/request.
Application free ports is a queue (double linked list) protected with mutex.
After successfull request parsing, each router thread (1) tries to get port
from this list. If this list is empty, (2) start worker request posted to main
router thread. Another thread may release port between (1) and (2).

This fix adds an attempt to get port from free ports list at the beginning of
start worker action in main thread.
2017-09-05 15:56:35 -07:00
Max Romanov c937b8434a Double connection close attempt fix. 2017-09-05 10:22:46 -07:00
Max Romanov 1429cacd17 Using CSTRZ mapping type for go executable. 2017-09-05 10:22:45 -07:00
Max Romanov f1685e371f Introducing working_directory directive for applications. 2017-09-05 10:22:44 -07:00