X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Feventlog%2FEventLog.h;h=26a2e944bf6c43ce7c82efd3d537f14657236d18;hb=7c185cd2525a20dcfa9859c5e6cf2f6300a19cc1;hp=9f3388e421da511a6f71242f5ae6c31a76a6cfd8;hpb=a5288c551349a0adab0d931a429b10a096d9444d;p=ghc-hetmet.git diff --git a/rts/eventlog/EventLog.h b/rts/eventlog/EventLog.h index 9f3388e..26a2e94 100644 --- a/rts/eventlog/EventLog.h +++ b/rts/eventlog/EventLog.h @@ -12,7 +12,7 @@ #include "rts/EventLogFormat.h" #include "Capability.h" -#pragma GCC visibility push(hidden) +#include "BeginPrivate.h" #ifdef TRACING @@ -24,38 +24,80 @@ extern char *EventTagDesc[]; void initEventLogging(void); void endEventLogging(void); void freeEventLogging(void); +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, StgWord64 other); + StgThreadID id, StgWord info1, StgWord info2); + +/* + * Post a capability set modification event + */ +void postCapsetModifyEvent (EventTypeNum tag, + EventCapsetID capset, + StgWord32 other, + StgWord32 other2); + +/* + * Post a capability set event with a string payload + */ +void postCapsetStrEvent (EventTypeNum tag, + EventCapsetID capset, + char *msg); + +/* + * Post a capability set event with several strings payload + */ +void postCapsetVecEvent (EventTypeNum tag, + EventCapsetID capset, + int argc, + char *msg[]); + +/* + * Post a nullary event. + */ +void postEvent(Capability *cap, EventTypeNum tag); void postMsg(char *msg, va_list ap); -void postCapMsg(Capability *cap, char *msg, va_list ap); +void postUserMsg(Capability *cap, char *msg, va_list ap); -void printAndClearEventLog(Capability *cap); +void postCapMsg(Capability *cap, char *msg, va_list ap); #else /* !TRACING */ INLINE_HEADER void postSchedEvent (Capability *cap STG_UNUSED, EventTypeNum tag STG_UNUSED, StgThreadID id STG_UNUSED, - StgWord64 other STG_UNUSED) + StgWord info1 STG_UNUSED, + StgWord info2 STG_UNUSED) +{ /* nothing */ } + +INLINE_HEADER void postCapsetModifyEvent (EventTypeNum tag STG_UNUSED, + EventCapsetID capset STG_UNUSED, + StgWord32 other STG_UNUSED, + StgWord32 other2 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, +INLINE_HEADER void postCapMsg (Capability *cap STG_UNUSED, char *msg STG_UNUSED, va_list ap STG_UNUSED) { /* nothing */ } #endif -#pragma GCC visibility pop +#include "EndPrivate.h" #endif /* TRACING_H */