[quagga-dev 591] [PATCH] isisd threads problems

Hasso Tepper hasso at estpak.ee
Sun Dec 28 15:35:05 GMT 2003


Attached small patch fixes problems with canceling threads in isisd 
described in [quagga-dev 575]. First three parts of patch are really 
fixes. About last two ones I don't know.

I'm still not too familiar with quagga threads. What happens if new 
thread is added without canceling previous one? In these cases I hit 
the situation where circuit->u.bc.t_run_dr[idx] existed and I just 
felt uncomfortable about it.

IMHO after thread_cancel(thread); there should be thread=NULL; (like 
THREAD_OFF macro does).

Before thread=thread_add_timer(); there should be check if(thread == 
NULL). And if it it isn't and there is need for rechedule thread, old 
thread should be canceled before.

It just helps to avoid problems which might be very hard to debug 
IMHO.

Or am I missing something?


-- 
Hasso Tepper
Elion Enterprises Ltd.
WAN administrator
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ht-20031228-isis.patch
Type: text/x-diff
Size: 1970 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20031228/0e69babe/attachment-0001.bin>


More information about the Quagga-dev mailing list