예제 #1
0
파일: debug.c 프로젝트: 01org/murphy
static void reset_rules(void)
{
    if (rules_on != NULL) {
        mrp_htbl_destroy(rules_on , TRUE);
        rules_on = NULL;
    }
    if (rules_off != NULL) {
        mrp_htbl_destroy(rules_off, TRUE);
        rules_off = NULL;
    }
}
예제 #2
0
파일: clients.c 프로젝트: 01org/winthorpe
void clients_destroy(context_t *ctx)
{
    clients_t *clients;

    if (ctx && (clients = ctx->clients)) {
        ctx->clients = NULL;

        client_destroy(clients->srs_client);

        mrp_htbl_destroy(clients->player.addr, FALSE);
        mrp_htbl_destroy(clients->player.name, TRUE);
        free(clients);
    }
}
예제 #3
0
파일: lua-resource.c 프로젝트: 01org/murphy
static void resource_set_lua_destroy(void *data)
{
    resource_set_lua_t *rset = (resource_set_lua_t *) data;

    mrp_debug("lua destructor for rset %p", rset);

    /* remove resources from the resource set -- they are finally cleaned from
     * their own lua destructors */

    if (rset->resource_set)
        mrp_resource_set_destroy(rset->resource_set);

    if (rset->resources) {
        mrp_debug("deleting htbl at %p", rset->resources);
        mrp_htbl_destroy(rset->resources, TRUE);
        rset->resources = NULL;
    }

    mrp_free(rset->zone);
    mrp_free(rset->application_class);

    if (rset->initialized) {
       n_sets--;

        if (n_sets == 0) {
            mrp_resource_client_destroy(client);
            client = NULL;
        }
    }

    return;
}
예제 #4
0
static void resource_set_lua_destroy(void *data)
{
    resource_set_lua_t *rset = (resource_set_lua_t *) data;

    mrp_debug("> destroy");

    mrp_htbl_destroy(rset->resources, TRUE);

    mrp_resource_set_destroy(rset->resource_set);

    n_sets--;

    if (n_sets == 0) {
        mrp_resource_client_destroy(client);
        client = NULL;
    }

    return;
}