
hasso at estpak
Dec 28, 2003, 8:35 AM
Post #1 of 1
(124 views)
Permalink
|
|
[PATCH] isisd threads problems
|
|
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
|