Я использую CreateProcess и CreatePipe, чтобы порождать дочерний процесс и настраивать каналы между матерью и ребенком для связи.Затем я использую WriteFile для записи в дескриптор записи дочернего канала ввода и ReadFile для чтения из дескриптора чтения дочернего канала вывода.Закончив запись в дочернюю систему, я делаю CloseHandle для дескриптора записи входного канала.
Все это работает хорошо.Однако я не хочу, чтобы это работало так.Я хочу передать одну строку ребенку, попросить ребенка вычислить что-то и вывести результаты в виде строки вывода, а затем прочитать эту строку вывода от матери.Затем передайте другую строку ввода дочернему элементу и т. Д.
К сожалению, когда я пропускаю вызов функции CloseHandle, два процесса зависают, и ничего не происходит.Так как я могу использовать трубы и не закрывать их?Если я закрою их, мне придется снова создать дочерний процесс, верно?Полагаю, это тяжелая операция, и я очень хочу этого избежать.Есть ли хорошее решение с использованием труб?Я хочу, чтобы дочерний процесс работал бесконечно, а общение было диалогом, чередующимся между записью и чтением.