Commit Graph

324 Commits

Author SHA1 Message Date
Max Romanov
4f7e00ef34 Fixing shared memory thread safety issue.
Do not reuse shared memory segment with different port until this segment
successfully received and indexed on other side. However, segment can be used
to transfer data via the port it was sent at any time.
2017-09-18 17:35:24 +03:00
Valentin Bartenev
75a6325656 Fixed memory leak caused by mempool related to request context.
The previous attempt of fixing this in e5a65b58101f hasn't been really
successful, because the actual memory leak was caused not by the request
parse context itself, but its memory pool.
2017-09-16 05:36:06 +03:00
Igor Sysoev
e5b4594376 Go: Fixed a bug introduced in the previous changeset. 2017-09-15 22:31:01 +03:00
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