--- scheduler/select.c 2010-04-14 04:40:08.000000000 -0400 +++ scheduler/select.c.oden 2010-04-14 04:44:45.000000000 -0400 @@ -483,7 +483,8 @@ cupsdDoSelect(long timeout) /* I - Time (*(fdptr->read_cb))(fdptr->data); } - if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE) + if (fdptr->use > 1 && fdptr->write_cb && event->filter == EVFILT_WRITE && + !cupsArrayFind(cupsd_inactive_fds, fdptr)) { cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDoSelect: Write on fd %d...", fdptr->fd); @@ -543,7 +544,9 @@ cupsdDoSelect(long timeout) /* I - Time (*(fdptr->read_cb))(fdptr->data); } - if (fdptr->use > 1 && fdptr->write_cb && (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP))) + if (fdptr->use > 1 && fdptr->write_cb && + (event->events & (EPOLLOUT | EPOLLERR | EPOLLHUP)) && + !cupsArrayFind(cupsd_inactive_fds, fdptr)) { cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdDoSelect: Write on fd %d...", fdptr->fd);