redisGetReply不回复

时间:2019-11-14 13:35:54

标签: c hiredis

我正在使用hiredis开发多进程应用程序。所有进程完成后,最后一个进程不会从 redisGetReply()进行回复。我在stackoverflow中搜索了此问题,但没有找到。我的示例代码块如下;

redisReply *reply = NULL;
redisContext *context;

redisAppendCommand (context, "RPUSH BLABLA 1");
redisAppendCommand (context, "EXEC");

int i = 2;
while (i--)
    {
      redisGetReply (context, (void **) &reply);
      if (!reply || reply->type == REDIS_REPLY_ERROR)
        return -1;
      if (reply)
        freeReplyObject (reply);
    }

当我检查gdb的进程时,gdb指向 redisBufferRead()函数。 https://github.com/redis/hiredis/blob/master/hiredis.c#L941

进程正在等待此功能。 谢谢。

0 个答案:

没有答案