X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Feventlog%2FEventLog.h;h=0cfab5c0910f14cd67381994a9a1c0222a59e3a8;hb=784e214dd44eba39f4c34936a27e6cc82948205c;hp=386730106e86284e17129406c5a0227dd0a7431f;hpb=8b18faef8aeaf40150c208272a2fc117611e8ae8;p=ghc-hetmet.git diff --git a/rts/eventlog/EventLog.h b/rts/eventlog/EventLog.h index 3867301..0cfab5c 100644 --- a/rts/eventlog/EventLog.h +++ b/rts/eventlog/EventLog.h @@ -9,10 +9,12 @@ #ifndef EVENTLOG_H #define EVENTLOG_H +#include "rts/EventLogFormat.h" #include "Capability.h" -#include "EventLogFormat.h" -#ifdef EVENTLOG +#include "BeginPrivate.h" + +#ifdef TRACING /* * Descriptions of EventTags for events. @@ -22,31 +24,51 @@ extern char *EventTagDesc[]; void initEventLogging(void); void endEventLogging(void); void freeEventLogging(void); - -void postEvent_(Capability *cap, EventTypeNum tag, StgThreadID id, nat from); +void abortEventLogging(void); // #4512 - after fork child needs to abort +void flushEventLog(void); // event log inherited from parent /* - * Post an event to the capability's event buffer. + * Post a scheduler event to the capability's event buffer (an event + * that has an associated thread). + */ +void postSchedEvent(Capability *cap, EventTypeNum tag, + StgThreadID id, StgWord info1, StgWord info2); + +/* + * Post a nullary event. */ -INLINE_HEADER void postEvent(Capability *cap, EventTypeNum tag, StgThreadID id, nat from) -{ - if (RtsFlags.EventLogFlags.doEventLogging) { - postEvent_(cap, tag, id, from); - } -} +void postEvent(Capability *cap, EventTypeNum tag); + +void postMsg(char *msg, va_list ap); -void printAndClearEventLog(Capability *cap); +void postUserMsg(Capability *cap, char *msg, va_list ap); -#else /* !EVENTLOG */ +void postCapMsg(Capability *cap, char *msg, va_list ap); -INLINE_HEADER void postEvent(Capability *cap STG_UNUSED, - EventTypeNum tag STG_UNUSED, - StgThreadID id STG_UNUSED, - nat from STG_UNUSED) -{ - /* nothing */ -} +#else /* !TRACING */ + +INLINE_HEADER void postSchedEvent (Capability *cap STG_UNUSED, + EventTypeNum tag STG_UNUSED, + StgThreadID id STG_UNUSED, + StgWord info1 STG_UNUSED, + StgWord info2 STG_UNUSED) +{ /* nothing */ } + +INLINE_HEADER void postEvent (Capability *cap STG_UNUSED, + EventTypeNum tag STG_UNUSED) +{ /* nothing */ } + +INLINE_HEADER void postMsg (char *msg STG_UNUSED, + va_list ap STG_UNUSED) +{ /* nothing */ } + +INLINE_HEADER void postCapMsg (Capability *cap STG_UNUSED, + char *msg STG_UNUSED, + va_list ap STG_UNUSED) +{ /* nothing */ } #endif -#endif /* EVENTLOG_H */ +#include "EndPrivate.h" + +#endif /* TRACING_H */