Releases: alliedtelesis/apteryx
Releases · alliedtelesis/apteryx
v5.49
v5.48
What's Changed
- Add required locking to cb_match_tree by @blairsteven in #435
Full Changelog: v5.47...v5.48
v5.47
Return DB timestamp for refreshed paths Previously we alway returned "now" if there was a chance of a path being refreshed. That was because refreshed paths always had their timestamps updated to "now" even if the refresher decided not to update anything so that we did not call the refresher again for stale child nodes. Now that we do not use the DB timestamps to decide whether to call the refreshers anymore we can fix this odd behaviour. The change in behaviour is; 1. A call to a refresher does not result in all children of the path having their timestamps set to "now" even if they were not modified. 2. A call to get a timestamp for a path will call refreshers to make sure the timestamp is up to date.
v5.46
What's Changed
- Fix compound intermediate nodes by @blairsteven in #432
Full Changelog: v5.45...v5.46
v5.45
Handle a tree the whole way from from apteryx_prune / apteryx_set_tree to the watch_tree callback in the client.
Add new memory diagnostics with "apteryx -m".
v5.44
Dont print error if apteryx_path_node passed NULL tree It is commonly used to check if a tree has a path and that tree may be completely empty.
v5.43
Implement apteryx_watch_tree_masked Allows users to create a watch callback that masks sets made by itself as defined by namespace and pid. Flags are now passed to apteryxd via the GUID. RPC messages contain the sender ns/pid. Use macros to alow users to activate the required functionality without them calling the _full fn.
v5.42
A worker pool is only needed for rpc instances that serve call backs Since the glib-2.0 patch 4d2e77a55 GThreadPool: Always use the thread-spawning thread for the global shared thread pool https://github.com/GNOME/glib/commit/4d2e77a5546cccc10f83d103d6f1527a5c9bcf13 creating a threadpool spawns a new thread. Previously, this was only the case for non-Linux platforms. This can cause issues for daemons that fork and depend on libraries that load apteryx on LT_INIT, as the glib threadpool spawned thread will not be copied on the fork. Additionally, now libraries that only use get calls will be running an extra thread from the threadpool. Move the threadpool creation into request_cb() to only spawn the pool managing thread for applications that require callbacks using workers.
v5.41
Ensure workers have correct sigmask The slow work thread should have all signals blocked. But should call callbacks with the worker_sigmask. Tidy up variable naming so this is more obvious if this code is changed later.
v5.40
Use MONOTONIC time for socket recv timeout Get rid of the duplication of get_time_us functions.