mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-11-03 16:24:52 +00:00
Merge pull request #4894 from donaldsharp/arm_wrestling
lib: Stop arm crash on shutdown
This commit is contained in:
commit
f6e1f1918d
@ -55,7 +55,6 @@
|
||||
#include "atomlist.h"
|
||||
|
||||
DEFINE_MTYPE_STATIC(LIB, RCU_THREAD, "RCU thread")
|
||||
DEFINE_MTYPE_STATIC(LIB, RCU_NEXT, "RCU sequence barrier")
|
||||
|
||||
DECLARE_ATOMLIST(rcu_heads, struct rcu_head, head)
|
||||
|
||||
@ -226,7 +225,7 @@ static void rcu_bump(void)
|
||||
{
|
||||
struct rcu_next *rn;
|
||||
|
||||
rn = XMALLOC(MTYPE_RCU_NEXT, sizeof(*rn));
|
||||
rn = XMALLOC(MTYPE_RCU_THREAD, sizeof(*rn));
|
||||
|
||||
/* note: each RCUA_NEXT item corresponds to exactly one seqno bump.
|
||||
* This means we don't need to communicate which seqno is which
|
||||
@ -269,7 +268,7 @@ static void rcu_bump(void)
|
||||
* "last item is being deleted - start over" case, and then we may end
|
||||
* up accessing old RCU queue items that are already free'd.
|
||||
*/
|
||||
rcu_free_internal(MTYPE_RCU_NEXT, rn, head_free);
|
||||
rcu_free_internal(MTYPE_RCU_THREAD, rn, head_free);
|
||||
|
||||
/* Only allow the RCU sweeper to run after these 2 items are queued.
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user