У меня есть библиотека , которая имеет довольно удобную упрощенную абстракцию ввода-вывода для таких вещей, как TCP-соединения или socketpair
, и я пытаюсь использовать ее для связи с подпроцессом через stdin
и stdout
.
Однако библиотека ввода-вывода предполагает возможность чтения и записи из одного и того же дескриптора файла, тогда как у меня есть один для чтения и один для записи соответственно.Теперь мне было интересно, есть ли для меня простой способ объединить два файловых дескриптора таким образом, чтобы он выглядел как один fd, но в фоновом режиме он просто мультиплексирует, читает в stdout
и записывает в stdin
подпроцесса.
Возможно ли это вообще, и сколько черной магии вовлечено в это?Не лучше ли мне оставить два отдельных, полуоткрытых соединения?