static void TO_QUEUE_APPEND(struct timeout_queue *q, event_conn_state_t *el)
{
    apr_time_t q_expiry;
    apr_time_t next_expiry;

    APR_RING_INSERT_TAIL(&q->head, el, event_conn_state_t, timeout_list);
    ++*q->total;
    ++q->count;

    /* Cheaply update the overall queues' next expiry according to the
     * first entry of this queue (oldest), if necessary.
     */
    el = APR_RING_FIRST(&q->head);
    q_expiry = el->queue_timestamp + q->timeout;
    next_expiry = queues_next_expiry;
    if (!next_expiry || next_expiry > q_expiry + TIMEOUT_FUDGE_FACTOR) {
        queues_next_expiry = q_expiry;
        /* Unblock the poll()ing listener for it to update its timeout. */
        if (listener_is_wakeable) {
            apr_pollset_wakeup(event_pollset);
        }
    }
}