From: Donald Sharp Date: Fri, 11 Nov 2016 18:57:49 +0000 (-0500) Subject: lib: Fix thread_execute_crash X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~102 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c8ff19f7bef4b6f7dbb2ded951929190f00a022a;p=matthieu%2Ffrr.git lib: Fix thread_execute_crash With the change to have thread_get fill inthe ->hist pointer, thread_execute was missed and it needs to fill in the .hist pointer for the dummy thread created. I'm not really sure why we need to call a thread_execute on a function. When we could, you know, just call the bloody thing. Signed-off-by: Donald Sharp --- diff --git a/lib/thread.c b/lib/thread.c index ba1386af21..64eaae45b9 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -1490,18 +1490,22 @@ funcname_thread_execute (struct thread_master *m, int val, debugargdef) { - struct thread dummy; + struct cpu_thread_history tmp; + struct thread dummy; memset (&dummy, 0, sizeof (struct thread)); dummy.type = THREAD_EVENT; dummy.add_type = THREAD_EXECUTE; dummy.master = NULL; - dummy.func = func; dummy.arg = arg; dummy.u.val = val; - dummy.funcname = funcname; + tmp.func = dummy.func = func; + tmp.funcname = dummy.funcname = funcname; + dummy.hist = hash_get (cpu_record, &tmp, + (void * (*) (void *))cpu_record_hash_alloc); + dummy.schedfrom = schedfrom; dummy.schedfrom_line = fromln;