Exemple #1
0
rid_t ridlist_get_element(ibp_ridlist_t *rlist, int index)
{
    if (index >= rlist->n) {
        log_printf(0, "ridlist_get_element:  Invalid index!  size=%d index=%d\n", rlist->n, index);
        rid_t rid;
        ibp_empty_rid(&rid);
        return(rid);
    }

    return(rlist->rl[index]);
}
void store_depot(ibp_depot_t *depot, char **argv, int skip_rid)
{
    int port;
    rid_t rid;

    port = atoi(argv[1]);
    if (skip_rid == 1) {
        ibp_empty_rid(&rid);
    } else {
        rid = ibp_str2rid(argv[2]);
    }
    set_ibp_depot(depot, argv[0], port, rid);
}
Resource_t *resource_pick(Resource_list_t *rl, rid_t *rid)
{
  Resource_t *r;

  apr_thread_mutex_lock(rl->lock);

  if (rl->n > 0) {
     r = rl->pick_routine(rl, rid);
  } else {
     ibp_empty_rid(rid);
     apr_thread_mutex_unlock(rl->lock);
     return(NULL);
  }
  apr_thread_mutex_unlock(rl->lock);

  return(r);
}