aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2006-07-26 13:43:30 +0000
committerdrh <drh@noemail.net>2006-07-26 13:43:30 +0000
commit15ca1df1bf54d35d88a8b94540125a68ecd7e5a6 (patch)
tree01bb7575c784831306c68198b70c228a6ecf9fb6 /src/vdbeapi.c
parent881feaa04380c6c79db9a763048c2f3d04c3a73e (diff)
downloadsqlite-15ca1df1bf54d35d88a8b94540125a68ecd7e5a6.tar.gz
sqlite-15ca1df1bf54d35d88a8b94540125a68ecd7e5a6.zip
More work toward getting sqlite3_interrupt() to work from separate
threads. Ticket #1897. (CVS 3336) FossilOrigin-Name: e431131d47481f9fc64c498e8934b10a96b0a931
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r--src/vdbeapi.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c
index 3b0a6ad46..a57cff3f8 100644
--- a/src/vdbeapi.c
+++ b/src/vdbeapi.c
@@ -180,6 +180,14 @@ int sqlite3_step(sqlite3_stmt *pStmt){
return SQLITE_MISUSE;
}
if( p->pc<0 ){
+ /* If there are no other statements currently running, then
+ ** reset the interrupt flag. This prevents a call to sqlite3_interrupt
+ ** from interrupting a statement that has not yet started.
+ */
+ if( db->activeVdbeCnt==0 ){
+ db->u1.isInterrupted = 0;
+ }
+
#ifndef SQLITE_OMIT_TRACE
/* Invoke the trace callback if there is one
*/