| 407 | } |
| 408 | |
| 409 | apr_status_t ap_queue_push_timer(fd_queue_t *queue, timer_event_t *te) |
| 410 | { |
| 411 | apr_status_t rv; |
| 412 | |
| 413 | if ((rv = apr_thread_mutex_lock(queue->one_big_mutex)) != APR_SUCCESS) { |
| 414 | return rv; |
| 415 | } |
| 416 | |
| 417 | AP_DEBUG_ASSERT(!queue->terminated); |
| 418 | |
| 419 | APR_RING_INSERT_TAIL(&queue->timers, te, timer_event_t, link); |
| 420 | |
| 421 | apr_thread_cond_signal(queue->not_empty); |
| 422 | |
| 423 | return apr_thread_mutex_unlock(queue->one_big_mutex); |
| 424 | } |
| 425 | |
| 426 | /** |
| 427 | * Retrieves the next available socket from the queue. If there are no |
no outgoing calls
no test coverage detected