首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当kv超过1项时,kv_do不精细循环

当kv超过1项时,kv_do不精细循环
EN

Stack Overflow用户
提问于 2016-09-12 04:43:39
回答 1查看 186关注 0票数 0

我试图使用kv_t存储一些数据,但没有成功。我还尝试了forum.c & kv.c的例子。当kv.c崩溃时,当尝试创建第二个Forum线程时,forum.c挂起。

当我有一个项目添加到kv,kv_do将成功。添加第二项后,尝试调用kv_do将导致无限循环,数据似乎也无效。

代码语言:javascript
复制
#include "stdio.h"
int list_threads(kv_item *item, xbuf_t *reply)
{
  Thread *thread = (Thread*)item->val;

  xbuf_t thread_li;
  xbuf_init(&thread_li);

  //using sprintf-like formatting
  xbuf_xcat(&thread_li, 
  "<li>"
   "<a href='/?forum_simple/act=t/id=%llu'>%s</a> (%lu)"
  "</li>",
  thread->id, thread->title.ptr, thread->posts.nbr_items
  );

  char *pos = (char*)xbuf_findstr(reply, "<!--tpl-->");
  if (pos) xbuf_insert(reply, pos, thread_li.len, thread_li.ptr);
  printf("-----------listing threads------\n");
  xbuf_free(&thread_li);

  return 1;
}

上面的代码来自forum.c。在创建第一个论坛线程之后,尝试创建第二个论坛线程将挂起,因为如果无限地调用list_threads函数。-列出的线程

EN

回答 1

Stack Overflow用户

发布于 2016-09-18 05:41:42

另一位用户最近报告了(请参阅“最新”G问题) kv_do崩溃,它似乎与原子原语实现有关,而不是与kv代码有关。

一旦问题得到解决,就会提出解决办法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39443479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档