aboutsummaryrefslogtreecommitdiff
path: root/www/p5-CGI-SpeedyCGI
diff options
context:
space:
mode:
authorLars Thegler <lth@FreeBSD.org>2005-10-06 14:09:56 +0000
committerLars Thegler <lth@FreeBSD.org>2005-10-06 14:09:56 +0000
commitffbbfc71ad09d8216e80750d017b2d878ce28287 (patch)
tree0556e0ce8e3fd0ee75cacc50175504599d7c3aff /www/p5-CGI-SpeedyCGI
parent6404db2ec22417f3caf1dae61ec3407cc22a5065 (diff)
downloadports-ffbbfc71ad09d8216e80750d017b2d878ce28287.tar.gz
ports-ffbbfc71ad09d8216e80750d017b2d878ce28287.zip
Added patch to fix SF#1279867, 'error messages from die() are lost'.
Notes
Notes: svn path=/head/; revision=144404
Diffstat (limited to 'www/p5-CGI-SpeedyCGI')
-rw-r--r--www/p5-CGI-SpeedyCGI/Makefile2
-rw-r--r--www/p5-CGI-SpeedyCGI/files/patch-src_speedy_main.c32
2 files changed, 33 insertions, 1 deletions
diff --git a/www/p5-CGI-SpeedyCGI/Makefile b/www/p5-CGI-SpeedyCGI/Makefile
index edea9df54014..5770f32f24d0 100644
--- a/www/p5-CGI-SpeedyCGI/Makefile
+++ b/www/p5-CGI-SpeedyCGI/Makefile
@@ -7,7 +7,7 @@
PORTNAME= CGI-SpeedyCGI
PORTVERSION= 2.22
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= www perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= CGI
diff --git a/www/p5-CGI-SpeedyCGI/files/patch-src_speedy_main.c b/www/p5-CGI-SpeedyCGI/files/patch-src_speedy_main.c
new file mode 100644
index 000000000000..750fbc0b4a65
--- /dev/null
+++ b/www/p5-CGI-SpeedyCGI/files/patch-src_speedy_main.c
@@ -0,0 +1,32 @@
+--- src/speedy_main.c 2005/08/31 19:56:57 1.1
++++ src/speedy_main.c 2005/08/31 19:57:42
+@@ -299,6 +299,7 @@
+ /* Copy streams */
+ while (1) {
+ /* Do reads/writes */
++ int close_stdout_delayed = 0;
+ for (i = 0; i < NUMFDS; ++i) {
+ register CopyBuf *b = cb + i;
+ int do_read = my_canread(b) &&
+@@ -346,10 +347,17 @@
+ /* Try to close files now, so we can wake up the backend
+ * and do more I/O before dropping into select
+ */
+- if (!do_read && !do_write)
+- try_close(b);
+- }
+- }
++ if (!do_read && !do_write) {
++ if (i == 1)
++ /* delay closing STDOUT until all the other fds are closed */
++ close_stdout_delayed = 1;
++ else
++ try_close(b);
++ }
++ }
++ }
++ if (close_stdout_delayed)
++ try_close(cb+1);
+
+ /* All done with reads/writes after backend exited */
+ if (backend_exited) {