LINUX.ORG.RU

разблокировать поток, висящий на getchar()


0

0

Привет, Есть такая проблема: В многопоточной программе функция main() в какой-то момент делаает getchar или getc(stdin) и ждет ввода с клавиатуры. Необходимо из другого потока эмулировать этот ввод чтобы функция разблокировалась.

Как это сделать?

P.S. Просьба не предлагать альтернативные варианты дизайна программы, использование пайпов, запуск из другого процесса через popen(). Эти варианты не совсем подходят.

anonymous

fd=open("/dev/fd/0");

write(fd,"xxx");

может покатит

cvv ★★★★★
()

я тут не претендую на большие знания по программированию в консоли, но вроде ж getchar() из stdin символ ждет? ну и кинь в него символ. или чего не так?

Vinill ★★
()

А почему пайпы не подходят? Ещё один пайп и poll - самое то.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от Vinill

проблема в том что человек хочет сам себе бросить

cvv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.