wait for child processes when we close pipes. fixes #37.

This commit is contained in:
Tomoyuki Sahara
2015-04-03 10:05:09 +09:00
parent 3a97a453c4
commit e92fd76248
+7
View File
@@ -351,6 +351,13 @@ fptr_finalize(mrb_state *mrb, struct mrb_io *fptr, int noraise)
}
}
if (fptr->pid != 0) {
pid_t pid;
do {
pid = waitpid(fptr->pid, NULL, 0);
} while (pid == -1 && errno == EINTR);
}
if (!noraise && n != 0) {
mrb_sys_fail(mrb, "fptr_finalize failed.");
}