Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-10-04 | Introducing use counters for port and app. Thread safe port write. | Max Romanov | 9 | -407/+682 | |
Use counter helps to simplify logic around port and application free. Port 'post' function introduced to simplify post execution of particular function to original port engine's thread. Write message queue is protected by mutex which makes port write operation thread safe. | |||||
2017-10-04 | Using engine memiory pool for port write allocations. | Max Romanov | 7 | -16/+16 | |
To allow use port from different threads, the first step is to avoid using port's memory pool for temporary allocations required to send data through the port. Including but not limited by: - buffers for data; - send message structures; - new mmap fd notifications; It is still safe to use port memory pool for incoming buffers allocations because recieve operation bound to single thread. | |||||
2017-10-04 | Removing mem_pool from port_hash interface. | Max Romanov | 5 | -45/+30 | |
Memory pool is not used by port_hash and it was a mistake to pass it into 'add' and 'remove' functions. port_hash enrties are allocated from heap. | |||||
2017-10-04 | Fixing memory leak when handling remove pid message. | Max Romanov | 1 | -0/+2 | |
Worker threads ports need to receive 'remove pid' message to properly handle application process exit case and finish requests processed by particular application worker. Main process send 'remove pid' notification to service thread port only and this message must be 'proxied' to other running engines. Separate memory pool created for this message. For each engine structure required to post message to engine allocate from the pool using 'retain' allocation method. After successfull post structure will be freed using 'release' method. To completely destroy poll one more 'release' should be called to release initial reference count. I'm afraid this should be simplified using good old malloc() and free() calls. | |||||
2017-10-02 | Version bump. | Valentin Bartenev | 1 | -2/+2 | |
2017-09-27 | Fixed building by modern GCC. | Igor Sysoev | 1 | -6/+3 | |
2017-09-27 | Event engine memory cache for nxt_sockaddr_t. | Igor Sysoev | 8 | -20/+185 | |
Introducing event engine memory cache and using the cache for nxt_sockaddr_t structures. | |||||
2017-09-27 | Fixed building with pthread_t defined as a pointer. | Sergey Kandaurov | 2 | -2/+2 | |
2017-09-25 | Style fixes. | Igor Sysoev | 1 | -4/+5 | |
2017-09-25 | Checking mallopt() during configure. | Max Romanov | 1 | -1/+1 | |
mallopt() is absent on Alpine musl. | |||||
2017-09-22 | Removed fibers from compilation. | Valentin Bartenev | 6 | -5/+22 | |
It's not used anyway, but breaks building with musl. This closes issue #5 on GitHub. | |||||
2017-09-18 | Fixing shared memory thread safety issue. | Max Romanov | 4 | -2/+13 | |
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-16 | Fixed memory leak caused by mempool related to request context. | Valentin Bartenev | 1 | -7/+3 | |
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-15 | Go: Fixed a bug introduced in the previous changeset. | Igor Sysoev | 1 | -1/+1 | |
2017-09-15 | Introducing named port message handlers to avoid misprints. | Max Romanov | 10 | -147/+135 | |
2017-09-15 | Fixing memory leak of request parse context. | Max Romanov | 3 | -19/+38 | |
2017-09-15 | Introducing application timeout. | Max Romanov | 13 | -326/+589 | |
2017-09-15 | Fixed port handlers arrays. | Valentin Bartenev | 2 | -0/+4 | |
2017-09-15 | Router: more logical code order change. | Igor Sysoev | 1 | -2/+2 | |
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-14 | Router: fixed segmentation fault. | Igor Sysoev | 2 | -10/+38 | |
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-10 | Configuration persistence. | Valentin Bartenev | 6 | -2/+234 | |
Now configuration survives server reloads. | |||||
2017-09-14 | Router: worker threads should quit only if the main thread has | Igor Sysoev | 1 | -1/+54 | |
requested this. | |||||
2017-09-14 | Fixed textual socket name lengths and Unix domain sockaddr length. | Igor Sysoev | 7 | -43/+79 | |
2017-09-12 | Fixed error messages grammar. | Nick Shadrin | 1 | -49/+48 | |
2017-09-08 | Fixed a memory leak. | Andrei Vagin | 1 | -0/+1 | |
This closes #2 RP on GitHub. From f13cca01b7aa489dcb6909513f2b781b36ac7fea | |||||
2017-09-08 | Cosmetic fixes in port.go. | Sergey Fedchenko | 1 | -33/+35 | |
This closes #5 on GitHub. From 615369a29511c6021e5623070f082fdb17ff37a2 | |||||
2017-09-07 | Moving body data before headers for PHP POST. | Max Romanov | 2 | -7/+22 | |
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-06 | Spreading user validation for php and go apps. | Max Romanov | 1 | -8/+8 | |
2017-09-06 | Fixed building by Sun C on Solaris. | Igor Sysoev | 1 | -1/+2 | |
2017-09-06 | Style fixes. | Igor Sysoev | 21 | -124/+185 | |
2017-09-06 | Controller: validating user and group names. | Igor Sysoev | 1 | -4/+67 | |
2017-09-05 | Fixing request id logging. | Max Romanov | 1 | -1/+1 | |
2017-09-05 | Fixing racing condition on app port release/request. | Max Romanov | 1 | -1/+21 | |
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 | Double connection close attempt fix. | Max Romanov | 2 | -4/+13 | |
2017-09-05 | Using CSTRZ mapping type for go executable. | Max Romanov | 3 | -10/+6 | |
2017-09-05 | Introducing working_directory directive for applications. | Max Romanov | 4 | -0/+36 | |
2017-09-01 | Added SERVER_ADDR parameter for Python and PHP modules. | Igor Sysoev | 4 | -0/+11 | |
2017-08-31 | Fixed format specifier. | Igor Sysoev | 1 | -1/+1 | |
2017-08-31 | Multiplexing different requests in single app port. | Max Romanov | 1 | -0/+5 | |
2017-08-31 | Default value 1 for number of workers. | Max Romanov | 1 | -0/+2 | |
2017-08-31 | PHP SAPI: typo fixed. | Sergey Kandaurov | 1 | -1/+1 | |
2017-08-31 | Changed modules names format. | Igor Sysoev | 1 | -1/+1 | |
2017-08-31 | nginext has been renamed to unit. | Igor Sysoev | 28 | -27/+27 | |
2017-08-31 | Introduced module compatibility vector. | Igor Sysoev | 7 | -5/+50 | |
2017-08-30 | Avoid nxt_port_mmap_header_t redefinition warning. | Max Romanov | 1 | -3/+1 | |
2017-08-30 | Avoid nxt_go_process_t redefinition warning. | Max Romanov | 3 | -3/+12 | |
2017-08-30 | ListenAndServe changed to be compatible with http.ListenAndServe. | Max Romanov | 3 | -6/+27 | |
2017-08-30 | Send remote address to go application. | Max Romanov | 2 | -0/+6 | |
2017-08-30 | Fixed pid_file pattern misprint introduced in 231:6832cdee961e. | Max Romanov | 1 | -1/+1 | |
2017-08-30 | Adding a missing slash to the tail of path set by --modules | Igor Sysoev | 1 | -3/+12 | |
command line option. |