Приложение, которое разветвляется и сразу выходит
Пока fork возвращает проппер pid_t вновь созданного процесса, фактический процесс не создается, ( ‘adb -d shell ps | оболочка findstr ‘ не показывает новый процесс)
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "\n");
pid_t pid = fork();
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "STARTED, pid = %d\n", pid);
if (0 != pid)
return S_OK;// Exits the parent process
HRESULT hr;
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "Initializing\n");
if (FAILED(hr = Initialize(pBaseAddress, wPort, uiMaxMessageSize)))
return hr;
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "Running modal loop\n");
hr = m_spIOCP->DoModal();
OnCleanup(hr);
__android_log_print(ANDROID_LOG_INFO, "ScreenCapSvc", "STOPPED, pid = %d\n", pid);
return S_OK;
I/ScreenCapSvc(29062):
I/ScreenCapSvc(29062): STARTED, pid = 29064
Если скорее они сразу выходят из родительского процесса, то я называю, например. sleep (2), чем дочерний процесс должным образом разветвлен, ОДНАКО, в то время как родительский процесс фактически завершается, ‘ADB -d shell’ никогда не завершается (остается бесконечным).
Ссылка по теме: https://stackoverflow.com/questions/28277361/android-adb-tool-c11-stdthread-usage
Что я делаю неправильно? почему процесс не развивается?
Задача ещё не решена.