--- rpl/src/instructions_s8.c 2012/12/20 15:32:52 1.53 +++ rpl/src/instructions_s8.c 2012/12/21 12:09:50 1.54 @@ -1438,6 +1438,8 @@ instruction_sqlquery(struct_processus *s struct_objet *s_objet_resultat; + struct timespec attente; + unsigned int i; unsigned int nombre_colonnes; @@ -1464,6 +1466,9 @@ instruction_sqlquery(struct_processus *s s_objet_resultat = NULL; l_element_courant = NULL; + attente.tv_sec = 0; + attente.tv_nsec = GRANULARITE_us * 1000; + do { switch(ios = sqlite3_step(ppStmt)) @@ -1628,6 +1633,14 @@ instruction_sqlquery(struct_processus *s break; } + case SQLITE_BUSY: + case SQLITE_LOCKED: + { + nanosleep(&attente, NULL); + INCR_GRANULARITE(attente.tv_nsec); + break; + } + default: { (*s_etat_processus).erreur_systeme =