commit - cecb9634543bc4513d89b49feb721eced447a0ba
commit + a03dc6d37b8bc4ef20c08bdb28de0de28c3c3939
blob - 1eeaa8b86685d1599f7b69674d56f6a199c19618
blob + e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
--- TODO
+++ TODO
-* VGI "zombie" after TLS write/close failed
blob - 6d162f2bc840222a2c618fb6cdb8e31ee55c57d1
blob + 4d8971e971a9d889a8ff134f0793d489f9b120b6
--- vostok/vostok.cc
+++ vostok/vostok.cc
error::occurred("Read from stdout of the child process", error::Print{});
if (!was_write)
send_response(accepted_client.get_ctx(), gemini::STATUS_42_CGI_ERROR, meta::TEMPORARY_FAILURE);
- return;
+ break;
}
const auto readed = static_cast<size_t>(ret);
if (readed == 0)
break; // EOF
if (!transport::send(accepted_client.get_ctx(), Span<const char>{buffer.data(), readed}))
- return;
+ {
+ while(read(stdout_read.get(), buffer.data(), buffer.size()) > 0)
+ ;
+ break;
+ }
was_write = true;
}