In the command read side, close the superfluous write end of the pipe
early to ensure that EOF is reliably detected. Without that change, splice
calls to read from the pipe will occasionally hang until the CGI process
is eventually killed due to timeout.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
include $(TOPDIR)/rules.mk
PKG_NAME:=cgi-io
-PKG_RELEASE:=15
+PKG_RELEASE:=16
PKG_LICENSE:=GPL-2.0-or-later
return -1;
default:
+ close(fds[1]);
+
now = time(NULL);
strftime(datestr, sizeof(datestr) - 1, "%Y-%m-%d", localtime(&now));
waitpid(pid, &status, 0);
close(fds[0]);
- close(fds[1]);
return 0;
}
return -1;
default:
+ close(fds[1]);
+
printf("Status: 200 OK\r\n");
printf("Content-Type: %s\r\n",
fields[7] ? fields[7] : "application/octet-stream");
waitpid(pid, &status, 0);
close(fds[0]);
- close(fds[1]);
free(args);
return 0;