diff options
author | Adam Chlipala <adam@chlipala.net> | 2013-12-23 15:59:17 +0000 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2013-12-23 15:59:17 +0000 |
commit | 76b26fec5a3b521a084491d77d6c9e1e28ab603c (patch) | |
tree | 710b0b096b788b1fb51c6222c97cc30632f0f964 /src/c/request.c | |
parent | b04455ed08e613b7a5b0491894ba688508546c13 (diff) |
Proper handling of serialization failures during SQL COMMIT
Diffstat (limited to 'src/c/request.c')
-rw-r--r-- | src/c/request.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/c/request.c b/src/c/request.c index 5973d979..b925cc3c 100644 --- a/src/c/request.c +++ b/src/c/request.c @@ -116,8 +116,10 @@ static void *periodic_loop(void *data) { return NULL; } while (r == UNLIMITED_RETRY || (r == BOUNDED_RETRY && retries_left > 0)); - if (r != FATAL && r != BOUNDED_RETRY) - uw_commit(ctx); + if (r != FATAL && r != BOUNDED_RETRY) { + if (uw_commit(ctx)) + r = UNLIMITED_RETRY; + } sleep(p->pdic.period); }; |