可可c上sqlite3_mutex_enter(v-> db-> mutex)的可能问题

时间:2012-10-03 13:46:24

标签: database sqlite tags mutex rel

我在iOS应用程序上遇到sqlite3_mutex_enter(v->db->mutex)错误消息的问题。 案例如下:我开发了一个应用程序,它在启动时在后台对应用程序执行同步。调用写入数据库的所有SQL语句都使用NSLOCK进行保护,并在最终确定后解锁。 现在的问题是,应用程序用户可以在同步仍在进行时开始使用应用程序。有时我在数据库级别完成某些操作时会得到sqlite3_mutex_enter(v->db->mutex),有时它只是有效。出现此错误的情况主要在读取语句中。

如果出现sqlite3_mutex_enter(v->db->mutex)错误,您有什么想法吗?所有陈述都已正确定稿。奇怪的是,即使没有告诉数据库连接关闭的命令,SQLITE DB也会尝试关闭自己。

1 个答案:

答案 0 :(得分:0)

语句sqlite3_mutex_enter(v->db->mutex)仅在sqlite3_reset内发生。这个地方的错误很可能是由一个无效的语句指针引起的,可能是一个已经完成的指针。