diff options
author | Lars Thegler <lth@FreeBSD.org> | 2005-10-06 14:09:56 +0000 |
---|---|---|
committer | Lars Thegler <lth@FreeBSD.org> | 2005-10-06 14:09:56 +0000 |
commit | ffbbfc71ad09d8216e80750d017b2d878ce28287 (patch) | |
tree | 0556e0ce8e3fd0ee75cacc50175504599d7c3aff /www/p5-CGI-SpeedyCGI | |
parent | 6404db2ec22417f3caf1dae61ec3407cc22a5065 (diff) | |
download | ports-ffbbfc71ad09d8216e80750d017b2d878ce28287.tar.gz ports-ffbbfc71ad09d8216e80750d017b2d878ce28287.zip |
Added patch to fix SF#1279867, 'error messages from die() are lost'.
Obtained from: http://sourceforge.net/tracker/index.php?func=detail&aid=1279867&group_id=2208&atid=102208
Notes
Notes:
svn path=/head/; revision=144404
Diffstat (limited to 'www/p5-CGI-SpeedyCGI')
-rw-r--r-- | www/p5-CGI-SpeedyCGI/Makefile | 2 | ||||
-rw-r--r-- | www/p5-CGI-SpeedyCGI/files/patch-src_speedy_main.c | 32 |
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) { |