7b6e7d6088
Currently, the only thread-safe part of the IPv6 Neighbor processing implementation are stale_counter related operation. Fix this, by extending the mutex protection over all of the module, so that message handlers, timers and API functions do not interfere with each other. As IPv6 Neighbor cache is tightly coupled with the Routing module, use the same mutex to protect both, neighbor and routing tables, to prevent deadlocks. Also, replace the semaphore used with a mutex, as it seems more fit for this particular job. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no> |
||
---|---|---|
.. | ||
6lo.c | ||
6lo.h | ||
6lo_private.h | ||
CMakeLists.txt | ||
Kconfig | ||
Kconfig.debug | ||
Kconfig.ipv4 | ||
Kconfig.ipv6 | ||
Kconfig.mgmt | ||
Kconfig.stack | ||
Kconfig.stats | ||
Kconfig.tcp | ||
canbus_socket.c | ||
canbus_socket.h | ||
connection.c | ||
connection.h | ||
icmp.c | ||
icmpv4.c | ||
icmpv4.h | ||
icmpv6.c | ||
icmpv6.h | ||
igmp.c | ||
ipv4.c | ||
ipv4.h | ||
ipv4_autoconf.c | ||
ipv4_autoconf_internal.h | ||
ipv4_fragment.c | ||
ipv6.c | ||
ipv6.h | ||
ipv6_fragment.c | ||
ipv6_mld.c | ||
ipv6_nbr.c | ||
nbr.c | ||
nbr.h | ||
net_context.c | ||
net_core.c | ||
net_if.c | ||
net_mgmt.c | ||
net_pkt.c | ||
net_private.h | ||
net_stats.c | ||
net_stats.h | ||
net_tc.c | ||
net_tc_mapping.h | ||
net_timeout.c | ||
packet_socket.c | ||
packet_socket.h | ||
promiscuous.c | ||
route.c | ||
route.h | ||
tcp.c | ||
tcp.h | ||
tcp_internal.h | ||
tcp_private.h | ||
tp.c | ||
tp.h | ||
tp_priv.h | ||
udp.c | ||
udp_internal.h | ||
utils.c |