potential fix for amb818 - sqlite busy waits for locks now
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401453
This commit is contained in:
parent
b59e16ff97
commit
4ec0df9b9b
@ -53,6 +53,16 @@ unsigned int strncopy(char *dest, const char *src, size_t count)
|
|||||||
return (dest - start);
|
return (dest - start);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int busy_handler(void *unused1, int unused2)
|
||||||
|
{
|
||||||
|
#if defined PLATFORM_WINDOWS
|
||||||
|
Sleep(100);
|
||||||
|
#elif defined PLATFORM_LINUX
|
||||||
|
usleep(100000);
|
||||||
|
#endif
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
SqDriver::SqDriver()
|
SqDriver::SqDriver()
|
||||||
{
|
{
|
||||||
m_Handle = BAD_HANDLE;
|
m_Handle = BAD_HANDLE;
|
||||||
@ -223,6 +233,8 @@ IDatabase *SqDriver::Connect(const DatabaseInfo *info, bool persistent, char *er
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sqlite3_busy_handler(sql, busy_handler, NULL);
|
||||||
|
|
||||||
SqDatabase *pdb = new SqDatabase(sql, persistent);
|
SqDatabase *pdb = new SqDatabase(sql, persistent);
|
||||||
|
|
||||||
if (persistent)
|
if (persistent)
|
||||||
|
Loading…
Reference in New Issue
Block a user