Add net-print/cups-1.4.2-r1.
[overlay.git] / net-print / cups / files / cups-1.4.2-str3200.patch
diff --git a/net-print/cups/files/cups-1.4.2-str3200.patch b/net-print/cups/files/cups-1.4.2-str3200.patch
new file mode 100644 (file)
index 0000000..47d9114
--- /dev/null
@@ -0,0 +1,43 @@
+Index: scheduler/select.c
+===================================================================
+--- scheduler/select.c (revision 8887)
++++ scheduler/select.c (working copy)
+@@ -454,7 +454,7 @@
+     if (fdptr->read_cb && event->filter == EVFILT_READ)
+       (*(fdptr->read_cb))(fdptr->data);
+-    if (fdptr->write_cb && event->filter == EVFILT_WRITE)
++    if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE)
+       (*(fdptr->write_cb))(fdptr->data);
+     release_fd(fdptr);
+@@ -499,7 +499,8 @@
+       if (fdptr->read_cb && (event->events & (EPOLLIN | EPOLLERR | EPOLLHUP)))
+         (*(fdptr->read_cb))(fdptr->data);
+-      if (fdptr->write_cb && (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP)))
++      if (fdptr->use > 1 && fdptr->write_cb &&
++          (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP)))
+         (*(fdptr->write_cb))(fdptr->data);
+       release_fd(fdptr);
+@@ -590,7 +591,8 @@
+       if (fdptr->read_cb && (pfd->revents & (POLLIN | POLLERR | POLLHUP)))
+         (*(fdptr->read_cb))(fdptr->data);
+-      if (fdptr->write_cb && (pfd->revents & (POLLOUT | POLLERR | POLLHUP)))
++      if (fdptr->use > 1 && fdptr->write_cb &&
++          (pfd->revents & (POLLOUT | POLLERR | POLLHUP)))
+         (*(fdptr->write_cb))(fdptr->data);
+       release_fd(fdptr);
+@@ -645,7 +647,8 @@
+       if (fdptr->read_cb && FD_ISSET(fdptr->fd, &cupsd_current_input))
+         (*(fdptr->read_cb))(fdptr->data);
+-      if (fdptr->write_cb && FD_ISSET(fdptr->fd, &cupsd_current_output))
++      if (fdptr->use > 1 && fdptr->write_cb &&
++          FD_ISSET(fdptr->fd, &cupsd_current_output))
+         (*(fdptr->write_cb))(fdptr->data);
+       release_fd(fdptr);