test-test262: Close the output file stream after writing

Without this the runner is waiting for new tests which will never come
and test-test262 is waiting for output which never comes since the
runner is blocked.
Also finish off a comment, and make the variables follow serenity style.
This commit is contained in:
davidot 2022-09-13 23:01:41 +02:00 committed by Andrew Kaster
parent d9360676cd
commit 49e3b387ac
Notes: sideshowbarker 2024-07-17 23:07:41 +09:00

View File

@ -161,12 +161,12 @@ public:
bool write_lines(Span<String> lines)
{
// It's possible the process dies before we can write all the tests
// to the stdin. So make sure that
struct sigaction act { };
struct sigaction oldAct;
act.sa_flags = 0;
act.sa_handler = SIG_IGN;
if (sigaction(SIGPIPE, &act, &oldAct) < 0) {
// to the stdin. So make sure that we don't crash but just stop writing.
struct sigaction action_handler { };
struct sigaction old_action_handler;
action_handler.sa_flags = 0;
action_handler.sa_handler = SIG_IGN;
if (sigaction(SIGPIPE, &action_handler, &old_action_handler) < 0) {
perror("sigaction");
return false;
}
@ -176,8 +176,11 @@ public:
break;
}
// Ensure that the input stream ends here, whether we were able to write all lines or not
m_output->close();
// It's not really a problem if this signal failed
if (sigaction(SIGPIPE, &oldAct, nullptr) < 0)
if (sigaction(SIGPIPE, &old_action_handler, nullptr) < 0)
perror("sigaction");
return true;