]> git.puffer.fish Git - matthieu/frr.git/commit
lib: fix thread_cancel_event()
authorJorge Boncompte [DTI2] <jorge@dti2.net>
Mon, 7 May 2012 15:17:31 +0000 (15:17 +0000)
committerDavid Lamparter <equinox@diac24.net>
Mon, 21 May 2012 13:41:21 +0000 (15:41 +0200)
commit1b79fcb646f66682a62cf34f3cc343b1a9706699
tree6b9b215b3bac9b46027266fff10a6c53e2665624
parent7c9c6aebe8daabece9e78d47727dcdcb757c0a63
lib: fix thread_cancel_event()

  ospfd was crashing some times on neighbour going down. The cause was that
ospf_nsm_event() was accessing already freed memory in ospf_nbr_delete()
call from ospf_nsm_event().

  What happens is that since commit b5043aab (lib: fix incorrect thread
list...) now a thread can be on the event and ready lists but
thread_cancel_event() doesn't account for that.

* thread.c: (thread_cancel_event) loop on the ready list too to cancel
  pending events.

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
lib/thread.c