diff options
author | Chris Hall <chris.hall@highwayman.com> | 2012-03-23 12:15:00 +0000 |
---|---|---|
committer | Chris Hall <chris.hall@highwayman.com> | 2012-03-23 12:15:00 +0000 |
commit | 4526b03b4c1ac32588cd8f9a3ea71bafe72db9ef (patch) | |
tree | 48c05781305667727e1dcd2207df6c25976bb488 /lib/thread.c | |
parent | 97f375b3e02e0f4ec18f68fbe36fc5ae16693d26 (diff) | |
parent | aee567450eaf32877d00f47c4cc5d05c5fb85a51 (diff) | |
download | quagga-ex23b.tar.bz2 quagga-ex23b.tar.xz |
Merge branch 'master' into euro_ix_bex23b
v0.99.20ex23b -- Quagga 'master' as at 23-Mar-2012
Conflicts:
bgpd/bgp_attr.c
bgpd/bgp_attr.h
Difference between 'master' and 0.99.20.1 is in these files.
Handling of attributes has been worked over again to common up
checks of the flags, and to use a common parsing structure,
which reduces the clutter of parameters for the individual
attribute parsing functions.
bgpd/bgp_open.c
bgpd/bgp_packet.c
lib/thread.c
ospfd/ospf_packet.c
These were artifacts, caused by common patches in master and
0.99.20.1 -- and some twitchy-ness about whitespace !
Diffstat (limited to 'lib/thread.c')
-rw-r--r-- | lib/thread.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/thread.c b/lib/thread.c index be490f9f..e8e345aa 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -1185,10 +1185,12 @@ static unsigned int thread_timer_process (struct thread_list *list, struct timeval *timenow) { struct thread *thread; + struct thread *next; unsigned int ready = 0; - for (thread = list->head; thread; thread = thread->next) + for (thread = list->head; thread; thread = next) { + next = thread->next; if (timeval_cmp (*timenow, thread->u.sands) < 0) return ready; thread_list_delete (list, thread); @@ -1206,10 +1208,12 @@ static unsigned int thread_process (struct thread_list *list) { struct thread *thread; + struct thread *next; unsigned int ready = 0; - for (thread = list->head; thread; thread = thread->next) + for (thread = list->head; thread; thread = next) { + next = thread->next; thread_list_delete (list, thread); thread->type = THREAD_READY; thread_list_add (&thread->master->ready, thread); |