comparison src/c/cgi.c @ 1938:d02c1a0d8082

Proper handling of serialization failures during SQL COMMIT
author Adam Chlipala <adam@chlipala.net>
date Mon, 23 Dec 2013 15:59:17 +0000
parents 6745eafff617
children 9f3597979e98
comparison
equal deleted inserted replaced
1937:94f9570671f0 1938:d02c1a0d8082
132 132
133 void uw_copy_client_data(void *dst, void *src) { 133 void uw_copy_client_data(void *dst, void *src) {
134 } 134 }
135 135
136 void uw_do_expunge(uw_context ctx, uw_Basis_client cli, void *data) { 136 void uw_do_expunge(uw_context ctx, uw_Basis_client cli, void *data) {
137 uw_ensure_transaction(ctx); 137 do {
138 uw_get_app(ctx)->expunger(ctx, cli); 138 uw_ensure_transaction(ctx);
139 uw_commit(ctx); 139 uw_get_app(ctx)->expunger(ctx, cli);
140 } while (uw_commit(ctx) && (uw_rollback(ctx, 1), 1));
140 } 141 }
141 142
142 void uw_post_expunge(uw_context ctx, void *data) { 143 void uw_post_expunge(uw_context ctx, void *data) {
143 } 144 }
144 145