awesomized / libmemcached

Resurrection of libmemcached
https://awesomized.github.io/libmemcached/
BSD 3-Clause "New" or "Revised" License
45 stars 26 forks source link

libmemcached Pending when key include "\r\n" #73

Closed m6w6 closed 3 years ago

m6w6 commented 4 years ago

Imported from Launchpad using lp2gh.


Pending in memcached_quit!!

example code:

include

include

include

include

include

include "libmemcached/memcached.h"

int main()
{
memcached_st memc;
memcached_return rc;
memcached_server_st
servers;

    //connect multi server   
    memc = memcached_create(NULL);   

    servers = memcached_server_list_append(NULL, (char*)"127.0.0.1", 11211, &rc);   
    //  servers = memcached_server_list_append(servers, (char*)"localhost", 30000, &rc);   

    rc = memcached_server_push(memc, servers);  
    memcached_server_free(servers);    

    const char *keys[1]={ NULL };
    size_t key_lens[1] = { 0 };
    const char * key = "abcdeadfadfaf\r\nadfafafafdaf";
    keys[0] = key;
    key_lens[0] = strlen(key);

    memcached_behavior_set(memc,MEMCACHED_BEHAVIOR_SUPPORT_CAS,1);
    memcached_return status = memcached_mget_by_key(memc,NULL,0,keys,key_lens,1);
    memcached_result_st result;
    if (!memcached_fetch_result(memc,
                            &result, &status)) {
            printf("%d\n",status);
    }    
    memcached_quit(memc);
    //free   
    return 0;   

}

m6w6 commented 3 years ago

An ASCII key must not contain space or control characters.