MCPcopy Create free account
hub / github.com/dobin/RedEdr / KernelReaderInit

Function KernelReaderInit

RedEdr/kernelreader.cpp:31–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29
30
31bool KernelReaderInit(std::vector<HANDLE>& threads) {
32 hStopEventKernel = CreateEvent(NULL, TRUE, FALSE, NULL);
33 if (hStopEventKernel == NULL) {
34 LOG_A(LOG_ERROR, "KernelReader: Failed to create stop event");
35 return false;
36 }
37 threadReadynessKernel = CreateEvent(NULL, TRUE, FALSE, NULL);
38 if (threadReadynessKernel == NULL) {
39 LOG_A(LOG_ERROR, "KernelReader: Failed to create event for thread readyness");
40 CloseHandle(hStopEventKernel);
41 hStopEventKernel = NULL;
42 return false;
43 }
44
45 LOG_A(LOG_DEBUG, "!KernelReader: Start thread");
46 HANDLE thread = CreateThread(NULL, 0, KernelReaderProcessingThread, NULL, 0, NULL);
47 if (thread == NULL) {
48 LOG_A(LOG_ERROR, "KernelReader: Failed to create thread for trace session logreader");
49 return false;
50 }
51 hKernelThreadHandle = thread;
52
53 WaitForSingleObject(threadReadynessKernel, INFINITE);
54 threads.push_back(thread);
55
56 return true;
57}
58
59
60DWORD WINAPI KernelReaderProcessingThread(LPVOID param) {

Callers 1

ManagerStartFunction · 0.85

Calls 1

LOG_AFunction · 0.70

Tested by

no test coverage detected