X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fstate.c;h=938f23e4cd911ae52fc4f87d13f06f63d457a384;hb=6b1f0e27f35150ee49c5d18fa5e5a0e298d24369;hp=bd3f64d6cd08473ece9108b784c4c6add5c815c7;hpb=7d0aa40c0ca658e85876b06c7245292918588c13;p=lttv.git diff --git a/lttv/lttv/state.c b/lttv/lttv/state.c index bd3f64d6..938f23e4 100644 --- a/lttv/lttv/state.c +++ b/lttv/lttv/state.c @@ -2954,8 +2954,12 @@ static gboolean sched_try_wakeup(void *hook_data, void *call_data) (LttvTraceState*)s->parent.t_context, woken_cpu, woken_pid, &s->parent.timestamp); - process->state->s = LTTV_STATE_WAIT_CPU; - process->state->change = s->parent.timestamp; + + if (process->state->s == LTTV_STATE_WAIT || process->state->s == LTTV_STATE_WAIT_FORK) + { + process->state->s = LTTV_STATE_WAIT_CPU; + process->state->change = s->parent.timestamp; + } g_debug("Wakeup: process %d on CPU %u\n", woken_pid, woken_cpu);