У меня есть программа CGI (написанная на C ++), которая запускается Apache. Он отправляет длительный поток данных клиенту. Это работает; проблема в том, что если клиент отключается, программа CGI не замечает этого и продолжает работать до тех пор, пока не будет прервана вручную.
В Linux Apache отправляет SIGPIPE, который прерывает программу CGI. Но SIGPIPE не существует в Windows. Как Apache сообщает программе CGI, что она должна остановиться?
Полная настройка выглядит следующим образом: клиент запрашивает файл .BAT, который затем запускает файл .EXE. В идеале я хотел бы сохранить эту настройку, но я мог бы вызвать файл .exe напрямую, если это необходимо. Программа на C ++ записывает свой вывод в std :: cout. Я не вижу ошибок при записи в std :: cout.