diff options
Diffstat (limited to 'rts/Trace.c')
| -rw-r--r-- | rts/Trace.c | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/rts/Trace.c b/rts/Trace.c index 7a08c0f817..9da2115e2e 100644 --- a/rts/Trace.c +++ b/rts/Trace.c @@ -708,6 +708,28 @@ void traceUserMsg(Capability *cap, char *msg)      traceFormatUserMsg(cap, "%s", msg);  } +void traceUserMarker(Capability *cap, char *markername) +{ +    /* Note: traceUserMarker is special since it has no wrapper (it's called +       from cmm code), so we check eventlog_enabled and TRACE_user here. +     */ +#ifdef DEBUG +    if (RtsFlags.TraceFlags.tracing == TRACE_STDERR && TRACE_user) { +        ACQUIRE_LOCK(&trace_utx); +        tracePreface(); +        debugBelch("cap %d: User marker: %s\n", cap->no, markername); +        RELEASE_LOCK(&trace_utx); +    } else +#endif +    { +        if (eventlog_enabled && TRACE_user) { +            postUserMarker(cap, markername); +        } +    } +    dtraceUserMarker(cap->no, markername); +} + +  void traceThreadLabel_(Capability *cap,                         StgTSO     *tso,                         char       *label)  | 
