コード例 #1
0
ファイル: proto_memcache.c プロジェクト: clareSun/wheatserver
void freeMemcacheData(void *d)
{
    struct memcacheProcData *data = d;
    if (data->command)
        wstrFree(data->command);
    if (data->key)
        wstrFree(data->key);
    if (data->keys) {
        arrayEach(data->keys, freeKey);
        arrayDealloc(data->keys);
    }
    if (data->vals)
        arrayDealloc(data->vals);
    wfree(d);
}
コード例 #2
0
ファイル: app_ramcloud.c プロジェクト: ctbrowser/wheatserver
void freeRamcloudData(void *data)
{
    struct ramcloudData *d = data;
    if (d->retrievals) {
        arrayEach(d->retrievals, freeValue);
        arrayDealloc(d->retrievals);
    }
    if (d->retrievals_keys)
        arrayDealloc(d->retrievals_keys);
    if (d->retrievals_vals)
        arrayDealloc(d->retrievals_vals);
    if (d->retrievals_flags)
        arrayDealloc(d->retrievals_flags);
    if (d->retrievals_versions)
        arrayDealloc(d->retrievals_versions);
    if (d->retrieval_response)
        wstrFree(d->retrieval_response);
    wfree(d);
}
コード例 #3
0
ファイル: worker.c プロジェクト: alemic/wheatserver
static void connDealloc(struct conn *c)
{
    if (c->protocol_data)
        c->client->protocol->freeProtocolData(c->protocol_data);
    if (c->app_private_data)
        c->app->freeAppData(c->app_private_data);
    arrayEach(c->cleanup, callbackCall);
    arrayDealloc(c->cleanup);
    freeList(c->send_queue);
    wfree(c);
}