2

redisGetReply にタイムアウトを設定できますか? 私の現在のコードは

 while(redisGetReply(context,&reply) == REDIS_OK) {
        //Check for isstopped 
         if yes return    
        // consume message
        freeReplyObject(reply);
    }

現在、プログラムに SIGINT を通知する場合。現在、SIGINT とこのスレッドを redisGetReply で通知する場合。サーバーからのメッセージがあるまで待機します。

シグナルで redisGetReply を停止させる方法、または readreply のタイムアウトを設定する方法は?

4

1 に答える 1

0

このリンクでわかるように

Hiredis のテストの例

redisGetReply を呼び出す直前にタイムアウトを設定できます

struct timeval tv = { 0, 1000 };
assert(redisSetTimeout(c,tv) == REDIS_OK);
test_cond(redisGetReply(c,&_reply) == REDIS_ERR &&
        c->err == REDIS_ERR_IO && errno == EAGAIN);
redisFree(c);
于 2014-02-20T09:35:07.233 に答える