2012-10-03 2 views
0

iOS 응용 프로그램에서 sqlite3_mutex_enter(v->db->mutex) 오류 메시지에 문제가 있습니다. 사례는 다음과 같습니다. 시작하는 동안 백그라운드에서 응용 프로그램의 동기화를 수행하는 응용 프로그램을 개발했습니다. DB에 쓰기를 호출하는 모든 SQL 문은 NSLOCK을 사용하여 보호되며 종료 후 잠금이 해제됩니다. 이제 문제는 응용 프로그램 사용자가 동기화가 진행되는 동안 응용 프로그램 작업을 시작할 수 있다는 것입니다. 때로는 DB 레벨에서 무언가가 완료되었을 때 sqlite3_mutex_enter(v->db->mutex)이되는 경우가 있습니다. 가끔은 간단히 작동합니다. 이 오류가 나타나는 경우는 주로 읽기 명령문에 있습니다.cocoa c에서 sqlite3_mutex_enter (v-> db-> mutex)의 가능한 문제

sqlite3_mutex_enter(v->db->mutex) 오류가 표시 될 수있는 아이디어가 있습니까? 모든 진술은 올바르게 마무리됩니다. 정말 이상한 점은 DB 연결을 종료하라는 명령이 없더라도 SQLite DB가 자체적으로 닫으려고한다는 것입니다.

+0

오류 메시지의 정확한 내용은 무엇입니까? –

+0

일부 메모리 주소가있는 sqlite3_mutex_enter (v-> db-> 뮤텍스). – nja

답변

0

sqlite3_mutex_enter(v->db->mutex) 문은 sqlite3_reset 내부에서만 발생합니다. 이 장소의 오류는 유효하지 않은 명령문 포인터 (아마도 이미 완결 된 포인터)로 인해 발생할 수 있습니다.

+0

고마워, 그건 정확히 문제가 끝났다 : – nja

+0

안녕하세요,이 문제를 해결하기 위해 더 자세히 설명해 주시겠습니까 ...?. 나는 Xcode에서 여기에 붙어있다. – Chandan