X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Feventlog%2FEventLog.h;h=116b532c1f760f2c3cab67c2151a96516c8e461d;hb=43c7d555c8d7eea6ba0d76bce33be8d25a01c6fd;hp=10903709d8d2599b61cc03d8e972a0f52808395f;hpb=a2a67cd520b9841114d69a87a423dabcb3b4368e;p=ghc-hetmet.git diff --git a/rts/eventlog/EventLog.h b/rts/eventlog/EventLog.h index 1090370..116b532 100644 --- a/rts/eventlog/EventLog.h +++ b/rts/eventlog/EventLog.h @@ -12,7 +12,9 @@ #include "rts/EventLogFormat.h" #include "Capability.h" -#ifdef EVENTLOG +#include "BeginPrivate.h" + +#ifdef TRACING /* * Descriptions of EventTags for events. @@ -22,31 +24,60 @@ extern char *EventTagDesc[]; void initEventLogging(void); void endEventLogging(void); void freeEventLogging(void); - -void postEvent_(Capability *cap, EventTypeNum tag, StgThreadID id, StgWord64 other); +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, StgWord64 other) -{ - if (RtsFlags.EventLogFlags.doEventLogging) { - postEvent_(cap, tag, id, other); - } -} +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, - StgWord64 other STG_UNUSED) -{ - /* nothing */ -} +void postEventStartup(EventCapNo n_caps); + +/* + * Post a capability set modification event + */ +void postCapsetModifyEvent (EventTypeNum tag, + EventCapsetID capset, + StgWord32 other); + +#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 */