summaryrefslogtreecommitdiff
path: root/src/c/request.c
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2013-12-23 15:59:17 +0000
committerGravatar Adam Chlipala <adam@chlipala.net>2013-12-23 15:59:17 +0000
commit76b26fec5a3b521a084491d77d6c9e1e28ab603c (patch)
tree710b0b096b788b1fb51c6222c97cc30632f0f964 /src/c/request.c
parentb04455ed08e613b7a5b0491894ba688508546c13 (diff)
Proper handling of serialization failures during SQL COMMIT
Diffstat (limited to 'src/c/request.c')
-rw-r--r--src/c/request.c6
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);
};