On 2016 Sep 15 (Thu) at 14:47:24 +0200 (+0200), Peter Hessler wrote: :On 2016 Sep 15 (Thu) at 13:28:10 +0200 (+0200), Martin Pieuchot wrote: ::On 14/09/16(Wed) 15:50, Peter Hessler wrote: ::> + ::> + bfd = pool_get(&bfd_pool_msghdr, PR_WAITOK | PR_ZERO); :: ::This doesn't make sense you're allocating memory just to pass ::arguments to the rtsock layer. I believe this functions is ::not needed. :: : :I ran into some problems with that, but I can take another look. :
And fixed those problems. Was a think-o on my part. No need for the allocation. :::> @@ -376,6 +410,7 @@ bfd_send_task(void *arg) ::> bfd_set_state(sc, BFD_STATE_DOWN); ::> } ::> } ::> +bfd_prepmsg(sc); :: ::Why not call it bfd_sendmsg() and do everything you need there? :: : :Because either bfd.c needs externs to use some globals in rtsock.c, or :rtsock.c needs all of the child structures from bfd.c. : :I can look at this, as mentioned above. : I looked into it, and can move all of this into rtsock.c. Putting it into bfd.c involves way too many externs and reaching over :(. I'll call it "rt_bfdmsg()", to match the existing naming scheme in rtsock.c. -- "We don't care. We don't have to. We're the Phone Company."
