| 127 | } |
| 128 | |
| 129 | void SendSIGCONT(pid_t pid, pid_t tid) { |
| 130 | if (tid > 0) { |
| 131 | if (tgkill(pid, tid, ExceptionHandlerProtocol::kDumpDoneSignal) != 0) { |
| 132 | PLOG(ERROR) << "tgkill"; |
| 133 | } |
| 134 | return; |
| 135 | } |
| 136 | |
| 137 | std::vector<pid_t> threads; |
| 138 | if (!ReadThreadIDs(pid, &threads)) { |
| 139 | return; |
| 140 | } |
| 141 | for (const auto& thread : threads) { |
| 142 | if (tgkill(pid, thread, ExceptionHandlerProtocol::kDumpDoneSignal) != 0) { |
| 143 | PLOG(ERROR) << "tgkill"; |
| 144 | } |
| 145 | } |
| 146 | } |
| 147 | |
| 148 | bool SendCredentials(int client_sock) { |
| 149 | ExceptionHandlerProtocol::ServerToClientMessage message = {}; |
no test coverage detected