Esempio n. 1
0
void rdp_free(rdpRdp* rdp)
{
    if (rdp)
    {
        crypto_rc4_free(rdp->rc4_decrypt_key);
        crypto_rc4_free(rdp->rc4_encrypt_key);
        crypto_des3_free(rdp->fips_encrypt);
        crypto_des3_free(rdp->fips_decrypt);
        crypto_hmac_free(rdp->fips_hmac);
        freerdp_settings_free(rdp->settings);
        freerdp_settings_free(rdp->settingsCopy);
        transport_free(rdp->transport);
        license_free(rdp->license);
        input_free(rdp->input);
        update_free(rdp->update);
        fastpath_free(rdp->fastpath);
        nego_free(rdp->nego);
        mcs_free(rdp->mcs);
        redirection_free(rdp->redirection);
        autodetect_free(rdp->autodetect);
        heartbeat_free(rdp->heartbeat);
        multitransport_free(rdp->multitransport);
        bulk_free(rdp->bulk);
        free(rdp);
    }
}
Esempio n. 2
0
static void bulk_message_reply(struct rcce_binding *b, uint16_t coreid,
                               uint64_t id)
{
    struct rcce_state *st = b->st;
    errval_t err = bulk_free(&st->bt, id);
    assert(err_is_ok(err));
    assert(st->bulk_waitmsg == true);
    st->bulk_waitmsg = false;
}
Esempio n. 3
0
static void
task_completed_handler(struct replay_binding *b, uint16_t pid, uint64_t bulk_id)
{
    struct task_graph *tg = b->st;
    struct slave *sl;
    struct pid_entry *pe;

    pe = (void *)hash_lookup(tg->pids_h, pid);
    assert(pe != (void *)HASH_ENTRY_NOTFOUND);
    sl = pe->sl;
    tg_complete(tg, pe);
    bulk_free(&sl->bt, bulk_id);
    sl->pe = NULL;
}
Esempio n. 4
0
static void
slave_push_work(struct slave *sl)
{
    int err;
    struct bulk_buf *bb;
    uint64_t bulk_id;

    //dmsg("pushing work for slave: %ld (%p) pid:%d (completed:%d)\n", sl-slaves, sl, sl->pe->pid, sl->pe->completed);
    bb = bulk_alloc(&sl->bt);
    if (bb == NULL) {
        return;
    }
    bulk_buf_copy(bb, sl->pe->tes, sl->pe->tes_size);
    bulk_id = bulk_prepare_send(bb);
    err = sl->b->tx_vtbl.new_task(sl->b, NOP_CONT, bulk_id, sl->pe->tes_size);
    if (err == FLOUNDER_ERR_TX_BUSY) {
        bulk_free(&sl->bt, bulk_id);
        return;
    }
    assert(err_is_ok(err));
}