#
2139:99d792169ffb |
| 16-Jun-2022 |
Andrew Clayton |
Constified numerous function parameters.
As was pointed out by the cppcheck[0] static code analysis utility we can mark numerous function parameters as 'const'. This acts as a hint to the compiler a
Constified numerous function parameters.
As was pointed out by the cppcheck[0] static code analysis utility we can mark numerous function parameters as 'const'. This acts as a hint to the compiler about our intentions and the compiler will tell us when we deviate from them.
[0]: https://cppcheck.sourceforge.io/
show more ...
|
Revision tags: 1.27.0-1, 1.27.0, 1.26.1-1, 1.26.1, 1.26.0-1, 1.26.0 |
|
#
1996:35873fa78fed |
| 09-Nov-2021 |
Tiago Natel de Moura |
Introduced SCM_CREDENTIALS / SCM_CREDS in the socket control msgs.
|
Revision tags: 1.25.0-1, 1.25.0 |
|
#
1908:de0c32ff1931 |
| 01-Jul-2021 |
Max Romanov |
Deduplicating code for closing fds in nxt_port_send_msg_t.
|
#
1907:75ddb2d89b42 |
| 01-Jul-2021 |
Max Romanov |
Fixing memory and descriptor leakage in case of port send failure.
In rare cases, when the destination process had finished running but no notification of this was received yet, send could fail with
Fixing memory and descriptor leakage in case of port send failure.
In rare cases, when the destination process had finished running but no notification of this was received yet, send could fail with an error, and the send message structure with file descriptors could leak.
The leakage was periodically reproduced by respawn tests on FreeBSD 12.
show more ...
|
Revision tags: 1.24.0-1, 1.24.0, 1.23.0-1, 1.23.0 |
|
#
1832:7618b95f9cd2 |
| 25-Mar-2021 |
Max Romanov |
Fixing shm buffer leakage when sending over the port queue.
When the shm buffer is sent over the port queue, it needs to be completed because it's sent over the port socket.
|
Revision tags: 1.22.0-1, 1.22.0, 1.21.0-1, 1.21.0, 1.20.0-1, 1.20.0, 1.19.0-1, 1.19.0 |
|
#
1560:ef3da1be976d |
| 12-Aug-2020 |
Max Romanov |
Fixing issues found by static analyzer.
|
#
1558:026e4b909b61 |
| 11-Aug-2020 |
Max Romanov |
Style fixes for 2 file descriptors transfer over port.
Two consecutive fd and fd2 fields replaced with array.
|
#
1555:1d84b9e4b459 |
| 11-Aug-2020 |
Max Romanov |
Introducing application and port shared memory queues.
The goal is to minimize the number of syscalls needed to deliver a message.
|
#
1553:c3fad601f58b |
| 11-Aug-2020 |
Max Romanov |
Port message extended to transfer 2 file descriptors.
|
Revision tags: 1.18.0-1, 1.18.0 |
|
#
1485:bef3cb69fc92 |
| 27-May-2020 |
Max Romanov |
Closing unsent file descriptors from port queue.
After a process exits, all ports linked to it from other processes should be closed. All unsent file descriptors in port queue, marked as "close aft
Closing unsent file descriptors from port queue.
After a process exits, all ports linked to it from other processes should be closed. All unsent file descriptors in port queue, marked as "close after send", should be closed to avoid resource leakage.
show more ...
|
Revision tags: 1.17.0-1, 1.17.0, 1.16.0-1, 1.16.0, 1.15.0-1, 1.15.0, 1.14.0-1, 1.14.0, 1.13.0-1, 1.13.0 |
|
#
1269:41331471eee7 |
| 14-Nov-2019 |
Igor Sysoev |
Introduced chained buffer completion handlers.
|
Revision tags: 1.12.0-1, 1.12.0, 1.11.0-2, 1.11.0-1, 1.11.0, 1.10.0-2, 1.10.0-1, 1.10.0 |
|
#
1125:f92f3cd41257 |
| 15-Aug-2019 |
Max Romanov |
Fixing multi-thread port write racing conditions.
|
#
1084:13df2ec78d4a |
| 27-Jun-2019 |
Max Romanov |
Fixing allocation alignment for port fragments.
All allocated blocks for lvlhash required to be aligned because lower address bits used for various extra information. Using unaligned blocks may cau
Fixing allocation alignment for port fragments.
All allocated blocks for lvlhash required to be aligned because lower address bits used for various extra information. Using unaligned blocks may cause invalid memory aceess.
This was issue found on buildbot running large configuration tests.
show more ...
|
Revision tags: 1.9.0-1, 1.9.0 |
|
#
1015:d195f2361ecf |
| 25-Mar-2019 |
Max Romanov |
Turning off port read event state after main process fork.
Master port stores two file descriptors and works as a read port on the master process side. After a fork, the port switches into write mo
Turning off port read event state after main process fork.
Master port stores two file descriptors and works as a read port on the master process side. After a fork, the port switches into write mode and the read socket closes, but the same event structure is used for the write socket. However, the inherited structure remained in read state, telling the epoll engine to use MOD operation instead of ADD. The patch resets read event state, so the engine may write using proper ADD operation.
show more ...
|
#
1005:7000543fffde |
| 05-Mar-2019 |
Max Romanov |
Improving port message fragment recognition.
This is required to assemble fragmented messages correctly. Stream identifier is unique only for messages generated within a process, but the (stream, p
Improving port message fragment recognition.
This is required to assemble fragmented messages correctly. Stream identifier is unique only for messages generated within a process, but the (stream, pid) pair should be enough to avoid collisions. Adding reply_port seems redundant because it's enough to add stream to a pid.
This closes #199 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
show more ...
|
#
1004:306ceaf8927d |
| 05-Mar-2019 |
Max Romanov |
Fixing EAGAIN processing for port message send.
Sending large plain (exceeding port's max_size, not in shared memory) messages causes message fragmentation. First message fragment is sent successfu
Fixing EAGAIN processing for port message send.
Sending large plain (exceeding port's max_size, not in shared memory) messages causes message fragmentation. First message fragment is sent successfully, but the next fragment may fail with the EAGAIN error. In this case, the message has to be pushed back to queue head for additional processing.
Related to #167 issue on GitHub.
show more ...
|
#
1002:ba4c745528cf |
| 05-Mar-2019 |
Max Romanov |
Including port message header into message size limit.
Before this fix, large plain message (i.e. configuration) send may fail with the 'Message too big' error, because internal fragmentation implem
Including port message header into message size limit.
Before this fix, large plain message (i.e. configuration) send may fail with the 'Message too big' error, because internal fragmentation implementation does not account for 16 byte message header.
This closes #167 issue on GitHub.
show more ...
|
Revision tags: 1.8.0-1, 1.8.0 |
|
#
978:13b7e32876cf |
| 28-Feb-2019 |
Max Romanov |
Preserving message 'share' field when pushing to queue.
As far as I understand, this field is important to control the number of buffers send in a single write attempt. Furthermore, having uninitia
Preserving message 'share' field when pushing to queue.
As far as I understand, this field is important to control the number of buffers send in a single write attempt. Furthermore, having uninitialized field is always bad.
This closes #204 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
show more ...
|
#
974:c6d9f0ba74be |
| 28-Feb-2019 |
Max Romanov |
Reusing fragmented message buffers.
Fragmented message non-mmap buffer chain not freed nor reused before this fix.
This closes #206 on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
|
Revision tags: 1.7.1-1, 1.7.1, 1.7-1, 1.7, 1.6-1, 1.6, 1.5-1, 1.5, 1.4-2, 1.4, 1.3, 1.2, 1.1, 1.0 |
|
#
613:e5dd7bc63d59 |
| 05-Apr-2018 |
Valentin Bartenev |
Style.
|
#
592:f2b174742bf3 |
| 28-Mar-2018 |
Igor Sysoev |
nxt_port_buf_completion() and nxt_sendbuf_completion().
nxt_sendbuf_completion() has been renamed to nxt_port_buf_completion() and moved to src/nxt_port_socket.c. nxt_sendbuf_completion0() has been
nxt_port_buf_completion() and nxt_sendbuf_completion().
nxt_sendbuf_completion() has been renamed to nxt_port_buf_completion() and moved to src/nxt_port_socket.c. nxt_sendbuf_completion0() has been renamed to nxt_sendbuf_completion().
show more ...
|
Revision tags: 0.7 |
|
#
564:762f8c976ead |
| 05-Mar-2018 |
Valentin Bartenev |
Reduced number of critical log levels.
|
#
551:220b0834790b |
| 20-Feb-2018 |
Max Romanov |
Removed unwanted assertions.
|
Revision tags: 0.6, 0.5 |
|
#
521:93dc4a28dd37 |
| 07-Feb-2018 |
Andrey Zelenkov |
Style fixes.
|
Revision tags: 0.4, 0.3 |
|
#
430:3a24c399394f |
| 28-Dec-2017 |
Igor Sysoev |
Changed nxt_mp_retain() and nxt_mp_release() interfaces.
|