| Commit message (Collapse) | Author | Age |
| ... | |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Credit goes to Wu Xuan (@willwu1217) for diagnosing and proposing
a fix as part of #1695. This approach takes a revised approach
to avoid adding extra memory, and it also is slightly faster as we
do not need to update both pointers in the linked list, by reusing
the reap node.
As part of this a new internal API, nni_aio_completions, is introduced.
In all likelihood we will be able to use this to solve some similar
crashes in other areas of the code.
|
| |
|
|
|
|
|
| |
In some places, we use ifdef, and others if.
This normalizes for always using ifdef, so we can compile when
this macro is not defined.
|
| |
|
|
|
|
|
| |
In some places, we use ifdef, and others if.
This normalizes for always using ifdef, so we can compile when
this macro is not defined.
|
| |
|
|
|
|
|
| |
In some places, we use ifdef, and others if.
This normalizes for always using ifdef, so we can compile when
this macro is not defined.
|
| |
|
|
| |
(This also affects TCP, and fixed there.)
|
| |
|
|
|
| |
fix compile error in nano using clang version 16.0.5
fix issue: https://github.com/nanomsg/nng/issues/1676
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes expire threads tunable follows the same strategy as
taskq threads tunables.
Add NNG_NUM_EXPIRE_THREADS to override the default behavior (`n_cpu`
expire threads).
The NNG_MAX_EXPIRE_THREADS limit is always applied if > 0, even if you
specify the desired number of threads using NNG_NUM_EXPIRE_THREADS.
NNG_EXPIRE_THREADS is not used anymore. This was only referenced in the
code but never defined on CMake.
The logic to cap expire threads between 1 and 256 was removed. If users
set no limits, whatever value they choose will be used instead of being
silently overridden by us.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Co-authored-by: Christian Fischbach <cfischbach@mac.com>
|
| |
|
|
|
|
| |
We try to move the msgq close up earler. While here we can stop
dropping and reacquiring the lock -- this is likely left over
and may lead to races.
|
| | |
|
| |
|
|
| |
This reverts commit 8461c7207b440f5ba8c51b2236fcfa178f415a6f.
|
| |
|
|
|
|
| |
Windows (#1562)"
This reverts commit 1892e1d6d102d1fbd37e2c3bbb59dc35d81c8b33.
|
| | |
|
| |
|
|
| |
Finish receive aio on tcp
pipe close
|
| |
|
|
| |
(#1562)
|
| |
|
| |
fixes #1543 by aborting tasks that may have been prepped, but not yet started.
|
| |
|
|
| |
This function needs to be pretty much identical between PAIR v0 and
v1, it was missing just the call to release the pollable resources.
|
| |
|
|
| |
Signed-off-by: Andrey Vostrikov <andrey.vostrikov@cogentembedded.com>
Co-authored-by: Andrey Vostrikov <andrey.vostrikov@cogentembedded.com>
|
| |
|
| |
Fix for UBSAN error. As `id_reg_map` is initialised as NULL and passing NULL to `memcpy()` is undefined. Should make no difference to compiled code. Purely to appease the automated checks I have to deal with on my side. Thanks!
|
| |
|
|
|
|
|
| |
None of these changes are actual security bugs, but GitHub's
scanner reports false positives at Critical severity for them.
(There are a number of complaints from that scanner, many of
which we do not necessarily agree with.)
|
| | |
|
| |
|
| |
From the Windows docs, this option must receive as parameters the listener socket.
|
| |
|
| |
The socket member `st_name` is not available when NNG_ENABLE_STATS is OFF.
|
| |
|
|
|
|
|
|
|
|
| |
* Fixes compiling on Windows with Mingw
Fixes the build error: "InterlockedDecrementAcquire64 not defined" on Mingw
* fixes semantics of InterlockedDecrementRelease64 on Mingw
From Microsoft docs, InterlockedDecrementRelease64 returns the resulting decremented value.
The equivalent function on Mingw is `__atomic_sub_fetch`, not `__atomic_fetch_sub` (which returns the previous value).
|
| | |
|
| |
|
|
| |
(#1591)
|
| |
|
|
| |
gcc 4.8.5 ). (#1587)
|
| |
|
|
|
|
|
| |
This introduces a new API, nng_aio_busy(), that can be used
to query the status of the aio without blocking.
Some minor documentation fixes are included.
|
| |
|
|
| |
OSX < 10.12)
|
| |
|
|
|
| |
Also this fixes problems with uninitialized socket names, and the
socket name stat not being adjusted correctly when set via API.
|
| |
|
|
|
|
| |
This takes one less parameter, and is simpler. It will let us
reclaim the aio_prov_extra data space as well, so that we can
use it for other purposes.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
This should give significant performance boosts to anyone using this
protocol. Buffering on both the send and receive side is supported,
with a default buffer size of 16 messages. This should help provide
a reasonable default case for most users.
While here updated the test for bus to much more complete
NUTS style test framework, with increased coverage.
|
| |
|
|
|
|
| |
This function is like nng_device(), but runs asynchronously.
Also, this fixes #1503 nng_device causes nng_close to blocking
|
| |
|
|
|
| |
This makes these functions entirely bullet proof, and eliminates
yet more error handling cases.
|
| |
|
|
|
| |
This allows us to make nni_lmq_init() non-failing. (Although
the buffer size requested at initialization might not be granted.)
|