| 5541 | } |
| 5542 | |
| 5543 | static void del_pollset(apr_pollset_t *pollset, apr_pollfd_t *pfd, |
| 5544 | apr_int16_t events) |
| 5545 | { |
| 5546 | apr_status_t rv; |
| 5547 | |
| 5548 | AP_DEBUG_ASSERT((pfd->reqevents & events) != 0); |
| 5549 | |
| 5550 | rv = apr_pollset_remove(pollset, pfd); |
| 5551 | if (rv != APR_SUCCESS) { |
| 5552 | AP_DEBUG_ASSERT(0); |
| 5553 | return; |
| 5554 | } |
| 5555 | |
| 5556 | if (events & APR_POLLIN) { |
| 5557 | events |= APR_POLLHUP; |
| 5558 | } |
| 5559 | if (pfd->reqevents & ~(events | APR_POLLERR)) { |
| 5560 | pfd->reqevents &= ~events; |
| 5561 | rv = apr_pollset_add(pollset, pfd); |
| 5562 | if (rv != APR_SUCCESS) { |
| 5563 | AP_DEBUG_ASSERT(0); |
| 5564 | return; |
| 5565 | } |
| 5566 | } |
| 5567 | else { |
| 5568 | pfd->reqevents = 0; |
| 5569 | } |
| 5570 | } |
| 5571 | |
| 5572 | static int proxy_tunnel_forward(proxy_tunnel_rec *tunnel, |
| 5573 | struct proxy_tunnel_conn *in) |
no outgoing calls
no test coverage detected