MCPcopy Create free account
hub / github.com/dmtcp/dmtcp / processInfo_EventHook

Function processInfo_EventHook

src/processinfo.cpp:76–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74}
75
76static void
77processInfo_EventHook(DmtcpEvent_t event, DmtcpEventData_t *data)
78{
79 switch (event) {
80 case DMTCP_EVENT_INIT:
81 ProcessInfo::instance().init();
82 break;
83
84 case DMTCP_EVENT_PRE_EXEC:
85 {
86 jalib::JBinarySerializeWriterRaw wr("", data->preExec.serializationFd);
87 ProcessInfo::instance().getState();
88 ProcessInfo::instance().serialize(wr);
89 break;
90 }
91
92 case DMTCP_EVENT_POST_EXEC:
93 {
94 jalib::JBinarySerializeReaderRaw rd("", data->postExec.serializationFd);
95 ProcessInfo::instance().serialize(rd);
96 ProcessInfo::instance().postExec();
97 break;
98 }
99
100 case DMTCP_EVENT_ATFORK_CHILD:
101 case DMTCP_EVENT_VFORK_CHILD:
102 ProcessInfo::instance().resetOnFork();
103 break;
104
105 case DMTCP_EVENT_VFORK_PREPARE:
106 vforkBackup = pInfo;
107 pInfo = NULL;
108 break;
109
110 case DMTCP_EVENT_VFORK_PARENT:
111 case DMTCP_EVENT_VFORK_FAILED:
112 delete pInfo;
113 pInfo = vforkBackup;
114 break;
115
116 case DMTCP_EVENT_PRESUSPEND:
117 break;
118
119 case DMTCP_EVENT_PRECHECKPOINT:
120 checkpoint();
121 break;
122
123 case DMTCP_EVENT_RESUME:
124 resume();
125 break;
126
127 case DMTCP_EVENT_RESTART:
128 restart();
129 break;
130
131 default:
132 break;
133 }

Callers

nothing calls this directly

Calls 8

getStateMethod · 0.80
postExecMethod · 0.80
checkpointFunction · 0.70
resumeFunction · 0.70
restartFunction · 0.70
initMethod · 0.45
serializeMethod · 0.45
resetOnForkMethod · 0.45

Tested by

no test coverage detected