| 144 | } |
| 145 | |
| 146 | static void |
| 147 | prepareLogAndProcessdDataFromSerialFile() |
| 148 | { |
| 149 | if (Util::isValidFd(PROTECTED_LIFEBOAT_FD)) { |
| 150 | jalib::JBinarySerializeReaderRaw rd("", PROTECTED_LIFEBOAT_FD); |
| 151 | rd.rewind(); |
| 152 | UniquePid::serialize(rd); |
| 153 | |
| 154 | DmtcpEventData_t edata; |
| 155 | edata.postExec.serializationFd = PROTECTED_LIFEBOAT_FD; |
| 156 | PluginManager::eventHook(DMTCP_EVENT_POST_EXEC, &edata); |
| 157 | _real_close(PROTECTED_LIFEBOAT_FD); |
| 158 | } else { |
| 159 | // Brand new process (was never under ckpt-control), |
| 160 | |
| 161 | // Initialize the log file |
| 162 | Util::initializeLogFile(SharedData::getTmpDir()); |
| 163 | |
| 164 | JTRACE("Root of processes tree"); |
| 165 | ProcessInfo::instance().isRootOfProcessTree = 1; |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | static void |
| 170 | segFaultHandler(int sig, siginfo_t *siginfo, void *context) |
no test coverage detected