aboutsummaryrefslogtreecommitdiffstats
path: root/www/fcgi/files/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'www/fcgi/files/patch-ab')
-rw-r--r--www/fcgi/files/patch-ab103
1 files changed, 103 insertions, 0 deletions
diff --git a/www/fcgi/files/patch-ab b/www/fcgi/files/patch-ab
new file mode 100644
index 00000000000..6fc891d78bd
--- /dev/null
+++ b/www/fcgi/files/patch-ab
@@ -0,0 +1,103 @@
+*** libfcgi/os_unix.c.orig Sat Feb 6 00:08:33 1999
+--- libfcgi/os_unix.c Thu May 13 10:32:00 1999
+***************
+*** 412,420 ****
+ */
+ int OS_Read(int fd, char * buf, size_t len)
+ {
+! return(read(fd, buf, len));
+ }
+!
+ /*
+ *--------------------------------------------------------------
+ *
+--- 412,424 ----
+ */
+ int OS_Read(int fd, char * buf, size_t len)
+ {
+! int result;
+! do {
+! result = read(fd, buf, len);
+! } while((result == -1) && (errno == EINTR));
+! return(result);
+ }
+!
+ /*
+ *--------------------------------------------------------------
+ *
+***************
+*** 433,442 ****
+ */
+ int OS_Write(int fd, char * buf, size_t len)
+ {
+! return(write(fd, buf, len));
+ }
+
+-
+ /*
+ *----------------------------------------------------------------------
+ *
+--- 437,449 ----
+ */
+ int OS_Write(int fd, char * buf, size_t len)
+ {
+! int result;
+! do {
+! result = write(fd, buf, len);
+! } while((result == -1) && (errno == EINTR));
+! return(result);
+ }
+
+ /*
+ *----------------------------------------------------------------------
+ *
+***************
+*** 761,768 ****
+ * any work to do.
+ */
+ if(numRdPosted == 0 && numWrPosted == 0) {
+! selectStatus = select((maxFd+1), &readFdSetCpy, &writeFdSetCpy,
+! NULL, tmo);
+ if(selectStatus < 0) {
+ exit(errno);
+ }
+--- 768,777 ----
+ * any work to do.
+ */
+ if(numRdPosted == 0 && numWrPosted == 0) {
+! do {
+! selectStatus = select((maxFd+1), &readFdSetCpy, &writeFdSetCpy,
+! NULL, tmo);
+! } while ((selectStatus == -1) && (errno == EINTR));
+ if(selectStatus < 0) {
+ exit(errno);
+ }
+***************
+*** 1020,1030 ****
+ {
+ struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL };
+ fd_set read_fds;
+
+ FD_ZERO(&read_fds);
+ FD_SET(fd, &read_fds);
+
+! return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds);
+ }
+
+ /*
+--- 1029,1043 ----
+ {
+ struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL };
+ fd_set read_fds;
++ int result;
+
+ FD_ZERO(&read_fds);
+ FD_SET(fd, &read_fds);
+
+! do {
+! result = select(fd + 1, &read_fds, NULL, NULL, &tval);
+! } while((result == -1) && (errno == EINTR));
+! return result >= 0 && FD_ISSET(fd, &read_fds);
+ }
+
+ /*