aboutsummaryrefslogtreecommitdiffhomepage
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
commitfac05ae0a6d7d080436c953d2085e137d75c5796 (patch)
tree710b0b096b788b1fb51c6222c97cc30632f0f964 /src/c/request.c
parent2f6649aa0b392fefe08e3eb604a93220a0c64324 (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);
};